poppler 实用程序

poppler 实用程序

我正在检查一篇论文的参考文献,想找到正文中引用某篇论文(在参考文献列表中)的位置。有没有支持通过 bash 搜索并提取位置上下文的 PDF 编辑器?我尝试将 PDF 转换为文本,但效果不佳。

答案1

poppler 实用程序

笔记:xpdf 实用程序是一个过渡方案对于 poppler-utils。

您可以使用 poppler-utils。poppler-utils 是一套用于可移植文档格式 (PDF) 文件的工具。

要安装它,您可以使用 Ubuntu 软件中心,或单击以下内容:

安装 poppler-utils

pdfgrep

pdfgrep可以在目录树中递归搜索 PDF 文件中的字符串或模式,计算匹配项或打印每个匹配项的一些上下文。例如,要keyword在 中递归搜索/some directory(不区分大小写):

pdfgrep -Ri keyword /some/directory

Pdfgrep 是一个在 PDF 文件中搜索文本的工具。其工作原理类似于“grep”。

特征:

  • 搜索正则表达式。
  • 支持一些重要的 grep 选项,包括:+ 文件名输出。+ 页码输出。+ 可选不区分大小写。+ 计数
    出现次数。
  • 最重要的功能是:彩色输出!

安装 pdfgrep

1来源:Ubuntu 应用程序目录

答案2

只是为了补充上述答案,特别是您可以使用 xpdf-utils 中的名为 pdftotext 的命令行工具,然后使用 grep 搜索该工具创建的文本文档。

这可能看起来像这样:

pdftotext document.pdf - | grep -C5 -n -i "search term"

手册中有更多信息。pdftotext 的唯一缺点是不能使用通配符同时转换多个文件。这个问题可以用一个小的 bash 脚本来解决:

for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done

如果您由于 pdf 文件不兼容等原因而无法从 pdf 创建文本文档,那么这是另一个问题。

我认为一般来说,pdf 编辑器不包含命令行,因为它们是图形化的。如果您想使用 bash(或者可能是 zsh!),那么您可能必须使用终端 shell。

祝你好运!

答案3

要使用 pdfgrep 在多个 pdf 文件中搜索正则表达式:

find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;

其中路径是您的 pdf 文件的位置。

答案4

基因是包装器ripgrep这是在命令行上搜索 pdf 的更快的选项。

相关内容