2

这个主题的回答帮助我理解了为什么有时我的 PDF 找不到单词,以及为什么我在使用不同的 PDF 字数统计程序时总是得到不同的字数。我决定使用xpdf. 我将其转换为文本并添加了 -layout 标记,然后使用 Word 2003 打开生成的文本文件。我记下了字数。然后,不幸的是,我决定删除 -layout 标记。不过,这一次,字数不同。

为什么那个标签会影响字数?是否有准确的方法来查找 PDF 文件的字数?如果必须的话,我什至会为这样的软件付费,只要它能给我正确的字数。

(我检查了另一个主题,但我想我会发现我刚刚提供的解决方案是否可以解决所有问题。还有另一个主题推荐使用 advancedpdf。)

4

2 回答 2

2

我想争辩说没有可靠的字数统计。例如,为了让你的生活更艰难,可以将这个可爱的 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>
于 2012-03-01T14:52:45.753 回答
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() 来计算它们。希望这很有用。:-)

于 2013-10-02T09:12:04.400 回答