如何获取 PDF 文件的字数?我认为大多数我想要获取总字数的 pdf 文件都嵌入了文本层,因此我不需要 OCR。
该任务源于搜索一些已知大小的科学论文,例如 15000 字。大多数现代论文都以 pdf 格式发表
答案1
快速回答:
pdftotext myfile.pdf - | wc -w
长答案:
如果在 Unix 上,你可以使用pdftotext
:
然后在生成的文件中进行字数统计。如果在 Unix 上,您可以使用:
wc -w converted-pdf.txt
获得字数。
另外,请参阅 frabjous 的评论 - 基本上,您可以通过管道传输到stdout
临时文件来一步完成此操作:
pdftotext myfile.pdf - | wc -w
答案2
这是一项艰巨的任务,不容易解决。如果您真的想要一个准确的结果,请将 PDF 查看器中的段落逐段复制到文本文件中,然后使用该wc -w
工具进行检查。在这种情况下不使用的原因pdftotext
是:数学公式也可能进入输出并被视为“单词”。 (或者,您可以编辑从 获得的输出pdftotext
)。 另一个可能失败的原因是标题:“4.3.2 Foo Bar”被算作三个单词。
解决方法是只计算以 [A-Za-z] 中的字符开头的单词。因此,我通常会采取两步方法:
获取唯一单词列表并检查其中是否有太多误报:
pdftotext foo.pdf - | tr " " "\n" | sort | uniq | grep "^[A-Za-z]" > words
我在这里不使用字典,因为有些拼写错误不算作单词。
获取此单词列表并在 pdftotext 的输出中对其进行 grep:
pdftotext foo.pdf - | tr " " "\n" | grep -Ff words | wc -l
我知道这可以在一行内完成,但我无法轻松地看到第一步的过滤结果。这-F
可能会对你有所帮助,正如评论所述我以下(感谢)。
答案3
我刚刚尝试了一个免费程序,翻译的算盘。您可以拖放各种文件类型(包括 PDF),然后它会弹出一个浏览器,其中包含每个文档的可打印字数报告。对我来说,它工作得很好。(它是专门为字数统计而创建的,只有 435 KB……也就是说,不是一个“大应用程序”)。Translator's Abacus 不适用于 PDF 1.5 或更高版本。
或者:您只需Ctrl+A选择 Acrobat Reader 中的所有文本,然后将其复制粘贴到 Microsoft Word 等程序中(在屏幕底部的状态栏上显示字数统计)。
答案4
如果您使用 Acrobat Pro,一种简单的方法是将 PDF 导出到 Microsoft Word 文档,然后在 Word 中进行字数统计。或者,您可以将其导出到纯文本文件,然后在您选择的文本编辑器中使用字数统计实用程序。我刚刚使用 Word 方法对 pdf 文章进行了字数统计,花了整整 30 秒才完成。
希望这可以帮助。