在 Evince 中获取 pdf 文档的字数

31 pdf evince

有什么方法可以获得我在 Evince(Ubuntu 的默认 PDF 查看器)中查看的 PDF 文档的字数?我能够将文档转换为文本文件并从终端获取字数,但我非常希望能够快速获取它们而无需使用终端。是否有任何插件可以做到这一点,或者它是否已经内置而我只是想念它?

PS 我不想改变我的查看器,因为 Evince 是 Ubuntu 中的默认 PDF 查看器,我很想尽可能多地使用默认应用程序,因为其中包括 Evince 在内的很多应用程序都非常好。

Sid*_*Sid 47

您可以通过命令行执行此操作:

pdftotext filename.pdf - | tr -d '.' | wc -w
Run Code Online (Sandbox Code Playgroud)

  • @Chris 尝试将 system("<command above>") 集成到 evince 代码中。 (5认同)

fra*_*ous 12

一个需要zenity和 evince的快速 bash 脚本怎么样。当不带参数调用时,它会给你一个对话框,你可以选择一个文件。当使用参数(或在上述对话框之后)调用时,它会在 evince 中打开文件,并为您提供一个带有字数统计的对话框。

换句话说,将以下内容复制到一个名为evince-word-count.sh或其他名称的文本文件中,将其保存在路径中的某个位置(例如~/bin/),使其可执行(通过 Nautilus 的右键单击和属性或使用chmod +x ~/bin/evince-word-count.sh),

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0
Run Code Online (Sandbox Code Playgroud)

现在,在 nautilus 中右键单击某些 PDF,选择“打开方式...”,然后使用 evince-word-count.sh 打开它。现在,当您打开 PDF 时,它会以 evince 形式打开,并为您提供字数统计。

替代文字


小智 11

Olaf Leidinger 在 Evince 邮件列表上的回复:

我认为这样的功能更适合文档编辑器,因为他们作为普通查看器拥有更多关于文档的信息,并且计算单词是微不足道的。以 PDF 文件为例。您看到的文本实际上可能是某种矢量图形形状。即使文本包含在 PDF 文件中,您看到的那些词也可能由多个“在 (y,x) 位置绘制文本”命令组成——例如,在变音或行尾的情况下。所以一个词可能算作多个词。因此,我认为可能很难可靠地实现这样的功能。看看 pdftotext 看看我的意思。

  • 任何用于定义文档的文件都可以被视为“源代码”,而 Evince 是执行代码的机器。要求源代码编辑器(例如文本编辑器)确定执行的输出是不公平的(并且不可能),所以让我们看看输出(即在 Evince/poppler 中渲染的图像/文本)。在 Evince 中实现对我很有用,因为我在与语言无关的文本编辑器中“编码”我的论文,并使用 Evince(通过 Pandoc 和 pdflatex)来“运行”我的源代码。只有到了最后,我们才能确定是什么让它通过了。考虑注释代码。 (2认同)