有什么方法可以获取我在 Evince(Ubuntu 的默认 PDF 查看器)中查看的 PDF 文档的字数?我能够将文档转换为文本文件并从终端获取字数,但我很想能够在不使用终端的情况下快速获取它们。是否有任何插件可以做到这一点,或者它已经内置了而我只是缺少它?
PS:我不想更改我的查看器,因为 Evince 是 Ubuntu 中的默认 PDF 查看器,并且我非常希望尽可能多地使用默认应用程序,因为其中很多应用程序(包括 Evince)都非常好用。
答案1
您可以通过命令行执行此操作:
pdftotext filename.pdf - | tr -d '.' | wc -w
答案2
如何使用快速 bash 脚本禅意和 evince。当不带参数调用时,它会给你一个对话框,让你选择一个文件。当带参数调用时(或在上述对话框之后),它会在 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
现在,在 nautilus 中右键单击某个 PDF,选择“打开方式...”,然后使用 evince-word-count.sh 打开它。现在,当您打开 PDF 时,它会在 evince 中打开,并为您提供字数统计。
答案3
来自 Evince 邮件列表的 Olaf Leidinger 的回复:
我认为这种功能更适合文档编辑器,因为它们作为普通查看器拥有更多关于文档的信息,并且计算单词数很简单。以 PDF 文件为例。您看到的文本实际上可能是某种矢量图形。即使文本包含在 PDF 文件中,您看到的那些单词也可能由多个“在位置 (y,x) 绘制文本”命令组成 - 例如,在变音符或行尾的情况下。因此,一个单词可能算作多个单词。因此,我认为可靠地实现这种功能可能很困难。查看 pdftotext 以了解我的意思。
答案4
我不相信这是可能的(当然,从技术上讲这是可能的,但尚未实施)。
你必须记住 Evince 是一个文档查看者字数统计是编辑(是的,我知道情况并非总是如此)。
你可能喜欢联系 Evince 开发人员并询问他们是否有兴趣实现此功能。