在终端中查看pdf文件

bio*_*ian 68 terminal pdf

我想pdf直接在我们的集群上查看文件,而不是将它们复制到我的本地机器,然后在查看器中打开它们。

如何pdf在终端中查看文件?

Jar*_*nen 61

在许多系统中较少使用 lesspipe,它可以自动处理 pdftotext。因此,您可以立即尝试

 less file.pdf
Run Code Online (Sandbox Code Playgroud)

这将显示pdftotextin的输出less

  • 对于像我这样发现这个并得到错误“没有 pdftottext 可用”的人,只需先运行 `apt-get install pdftohtml` 即可使其正常工作。感谢 /sf/ask/249941401/#comment40581262_9553096 (4认同)

SHW*_*SHW 28

我想,不可能在终端中看到 PDF 文件,但您可以通过将 PDF 文件转换为文本来检查其内容。你可以这样做:

pdftotext a.pdf
Run Code Online (Sandbox Code Playgroud)

它将生成一个.txt 文件,您可以将其读入 VIM。

对于 ubuntu-variant,这个二进制文件在以下包中可用。

poppler-utils
Run Code Online (Sandbox Code Playgroud)

  • _is_ 可以在终端中看到 PDF 文件,如下所示:`pdftotext -layout file.pdf - | less`(Ubuntu 的默认 `lesspipe` 脚本就是这样做的) (7认同)

jmu*_*sch 11

我尝试了以下方法并取得了良好的效果:

pdftotext filname.pdf - | less
Run Code Online (Sandbox Code Playgroud)

  • 这在 RHEL 上对我来说效果更好,因为 lesspipe.sh 脚本似乎不支持 *.pdf (2认同)

sda*_*aau 6

当我想“在终端中查看 pdf 文件”时,这对我来说意味着我想实际查看未压缩的 PDF,我这样做:

pdftk in.pdf output out.pdf uncompress
Run Code Online (Sandbox Code Playgroud)

我一直想知道为什么都less in.pdfless out.pdf给我的PDF只是文本字符串(但不包括纯文本PDF命令我所期待的out.pdf)。

好吧,发生这种情况是因为假设我想pdftotext首先运行lesspipe - 并且因为在这里我没有,所以我必须通过将LESSOPEN环境变量设置为空来专门禁用 lesspipe ;那是:

$ LESSOPEN="" less out.pdf
Run Code Online (Sandbox Code Playgroud)

最后,我可以使用查看未压缩的 PDF 代码 less