this topic中的回答帮助我理解为什么有时我的
PDF无法找到一个单词以及为什么我在使用时会不断获得不同的字数
不同的PDF字数统计程序。我决定使用xpdf
。我把它转换成了文字
并添加了-layout标记,然后使用Word 2003打开生成的文本文件。
我注意到了计数这个词。不幸的是,我决定删除-layout标签。
但这一次,字数不同。
为什么该标签会影响字数?有没有一种准确的方法来查找单词计数 一个PDF文件?我甚至会付这样的软件,如果我不得不支付给我 正确的单词数。
(我检查了another topic,但我想我会发现我刚刚提供的解决方案是否可以解决所有问题。还有另一个主题建议使用advancedpdf。)
答案 0 :(得分:1)
我想说没有可靠的字数统计。例如,可以让你的生活更加艰难,将这个可爱的Stackoverflow答案的每个角色放入一个文本对象中并定位这样的对象,这样只有在渲染时才会为人类提供有意义的段落。像这样:
<html><body><style>
div {float: left;}
</style><div><p>S</p></div><div><p>t</p></div><div><p>a</p></div>
<div><p>c</p></div><div><p>k</p></div>
答案 1 :(得分:0)
我建议使用Java的开源解决方案。首先,您必须解析pdf文件并使用Tika提取所有文本。
然后我相信你可以通过扫描提取的文本并计算单词来实现这一点。
示例代码如下所示:
if (f.getName().endsWith(".txt"))
{
in = new BufferedReader(new FileReader(f));
StringBuilder sb = new StringBuilder();
String s = null;
while ((s = in.readLine()) != null)
sb.append(s);
String[] tokenizedTerms = sb.toString().replaceAll("[\\W&&[^\\s]]", "").split("\\W+"); //to get individual terms
}
在tokenizedTerms数组中,您将获得文档的所有术语(单词),您可以通过调用tokenizedTerms.length()来计算它们。希望这很有用。 : - )