由于不仅需要在 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
使搜索不区分大小写。)