有什么方法可以获取我在Ubuntu默认的PDF查看器Evince中查看的PDF文档的字数?我可以将文档转换为文本文件,并从终端获取字数统计,但是我很希望能够无需使用终端即可快速了解它们。有没有可以做到这一点的插件,或者它已经内置并且我只是想念它?
PS我不希望更改查看器,因为Evince是Ubuntu中的默认PDF查看器,并且我想尽可能多地使用默认应用程序,因为其中包括Evince在内的许多应用程序都非常好。
有什么方法可以获取我在Ubuntu默认的PDF查看器Evince中查看的PDF文档的字数?我可以将文档转换为文本文件,并从终端获取字数统计,但是我很希望能够无需使用终端即可快速了解它们。有没有可以做到这一点的插件,或者它已经内置并且我只是想念它?
PS我不希望更改查看器,因为Evince是Ubuntu中的默认PDF查看器,并且我想尽可能多地使用默认应用程序,因为其中包括Evince在内的许多应用程序都非常好。
Answers:
一个需要禅宗和表情的快速bash脚本怎么样?如果不带参数调用它,它将为您提供一个对话框,以便您选择一个文件。当使用参数调用时(或在所述对话框之后),它将同时打开文件并为您提供一个带有字数的对话框。
换句话说,将以下内容复制到一个名为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时,它会同时打开并给您一个字数。
Olaf Leidinger在Evince邮件列表上的回复:
我认为这样的功能更适合文档编辑器,因为他们以普通查看者的身份获取有关文档的更多信息,并且对单词进行计数是微不足道的。以PDF文件为例。您所看到的文本实际上可能是某种矢量图形形状。即使该文本包含在PDF文件中,您看到的那些单词也可能由多个“在(y,x)位置绘制文本”命令组成-例如,在变音符或行尾的情况下。因此,一个单词可能算作多个单词。因此,我认为可能很难可靠地实现这种功能。看看pdftotext看看我的意思。
我不认为这是可能的(从技术上讲这是可行的,但尚未实现)。
您必须记住Evince是文档查看器,而字数统计是编辑器中通常更需要的功能(是的,我知道并非总是如此)。
您可能想联系Evince开发人员,并询问他们是否对实现此功能有兴趣。