将PDF的内容打印到命令行

时间:2011-10-10 22:42:10

标签: linux pdf command-line cat

我正在寻找一个打印出PDF文件文本的命令行程序,就像文本文件的cat一样。我很确定这样的事情存在,因为我记得几个月前使用它。我本可以发誓它是pdfcat,但这只是一个合并的实用程序。我找到pdftotxt,这是可行的,但我更喜欢复制cat功能的东西,因为我想管道到grep。谢谢!

2 个答案:

答案 0 :(得分:16)

pdftotext的手册页上,我发现了这个:

  

pdftotext [options] [PDF-file [text-file]]

     

描述   Pdftotext将可移植文档格式(PDF)文件转换为纯文本。

     

Pdftotext读取PDF文件,PDF文件,并写入文本文件,文本文件。如果未指定text-file,pdftotext会将file.pdf转换为file.txt。如果文本文件为“ - ”,则将文本发送到stdout。

因此,如果您的目标是输出到stdout以便管道转换为grep,pdftotext mydoc.pdf -应该像cat mytext.txt一样工作,因此pdftotext mydoc.pdf - | grep mysearchterm

答案 1 :(得分:0)

也许您可以尝试以下方法:https://github.com/luochen1990/nodejs-easy-pdf-parser

这是一个npm软件包,您需要安装nodejs(和npm)才能使用它。

它可以用作命令行工具:

npm install -g easy-pdf-parser
pdf2text test.pdf > test.txt

此工具将按y坐标对文本行进行排序,因此在大多数情况下它都很好用。而且,它也适用于unicode和跨平台(相比之下:mingw64的pdftotext将在Windows上丢失unicode字符)。