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