在被注释的PDF文件中搜索文本字符串。

需要在PDF文件正文和评论中搜索文本字符串,我已经在Ubuntu 18.04 LTS上安装了Acrobat Reader。它的搜索功能正常工作,但我想知道是否还有其他方法来完成这个任务(pdfgrep?)
1个回答

1. PDF源代码中的注释字符串

对于PDF源代码中的注释字符串,您可以安全地假设它们没有进行编码,并且显示为普通的ASCII或UTF-8文本。

因此以下命令应该有效:

strings my.pdf | grep -i 'searchstring'

我应该补充一下,在PDF源代码中,注释会以每行注释开头的%字符标记。
此外,当你搜索评论中的字符串时,Adobe Acrobat和Adobe Reader都不会显示任何结果。
2. PDF文本内容中的字符串
你不能轻易地假设在PDF中找到文本。但你可以按照以下步骤来查找特定的字符串:
pdftotext -layout my.pdf - | grep -i 'searchstring'

还有很多其他的命令行方法(你自己提到了pdfgrep)。以pdfgrep为例:
pdfgrep -n -i 'searchstring' my.pdf

(这里,-n 会打印出包含字符串的页码,-i 则表示搜索时不区分大小写。)