如何获取 PDF 文件的字数?我认为我想要获得总字数的大多数 pdf 文件都嵌入了文本层,所以我不需要 OCR。
该任务来自于搜索一些已知大小的科学论文,例如 15000 字。大多数现代论文以pdf格式发表
icy*_*com 109
快速回答:
pdftotext myfile.pdf - | wc -w
Run Code Online (Sandbox Code Playgroud)
长答案:
如果在 Unix 上,您可以使用pdftotext:
然后在生成的文件中进行字数统计。如果在 Unix 上,您可以使用:
wc -w converted-pdf.txt
Run Code Online (Sandbox Code Playgroud)
得到字数。
另外,请参阅 frabjous 的评论 - 基本上,您可以通过管道stdout代替临时文件一步完成:
pdftotext myfile.pdf - | wc -w
Run Code Online (Sandbox Code Playgroud)
mat*_*ath 15
这是一项艰巨的任务,不容易解决。如果您真的想要一个确切的结果,请将 PDF 查看器的逐段复制到文本文件中,然后使用该wc -w工具进行检查。pdftotext在这种情况下不使用的原因是:数学公式也可能进入输出并被视为“单词”。(或者,您可以编辑从中获得的输出pdftotext)。这可能失败的另一个原因是标题:“4.3.2 Foo Bar”被计为三个词。
一种解决方法是仅计算 [A-Za-z] 中以字符开头的单词。所以我通常做的是两步法:
获取 uniq 单词列表并检查内部是否有太多误报:
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正如下面moi的评论所述,这可能会帮助您(谢谢)。
| 归档时间: |
|
| 查看次数: |
122067 次 |
| 最近记录: |