获取PDF文件的正确字数

获取PDF文件的正确字数,pdf,xpdf,Pdf,Xpdf,中的回答帮助我理解为什么有时我的 PDF找不到一个单词,为什么我在使用 不同的PDF字数计算程序。我决定使用xpdf。我把它转换成文本 并添加了-layout标记,然后用Word 2003打开生成的文本文件。 我记下了count这个词。然后,不幸的是,我决定删除-layout标记。 不过,这次的字数不同了 为什么标签会影响字数?有没有准确的方法来计算字数 一个PDF文件?如果必须的话,我甚至愿意为这样的软件付费,只要它给我 正确的字数 (我检查了一下,但我想我会发现我刚才提供的解决方案是否能解决

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

为什么标签会影响字数?有没有准确的方法来计算字数 一个PDF文件?如果必须的话,我甚至愿意为这样的软件付费,只要它给我 正确的字数


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

我想说的是,没有可靠的字数计算方法。例如,为了让你的生活更艰难,你可以把这个可爱的答案中的每个字符放在一个文本对象中,并定位这些对象,这样,只有在呈现时,才能给人类一个有意义的段落。像这样:

<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>

div{float:left;}
S

t

a

c

k


我建议使用Java的开源解决方案。首先,您必须解析pdf文件,并使用

然后我相信你可以通过扫描提取的文本和计算单词来实现这一点

示例代码如下所示:

 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()来计算它们。希望这有用。:-)

执行命令并不完全是正确的方法:)PDF不是为机器可读而设计的。要么用一些OCR解决方案进行手动更正,要么雇人帮你数一数单词,只要更便宜。我想你们会告诉我,用户在旧主题中发布的信息是正确的,我应该遵守。我从那篇博文中了解到的是,这些单词被计算在内,包括被分割成碎片的单词。我想我还是会坚持这一条。非常感谢。谢谢你的回复。在这一点上我不会和你争论:这很容易;我见过PDF,其中一些字符放在页面顶部,然后在左边距下再放几个字符,然后页面顶部的其余文本放在前面的字符之后,然后在第二列中放一些字符,然后在第一页距的前面的字符之后再放一些字符,然后删除页面顶部并在其中绘制不同的字符,然后在第二列中添加更多字符,然后添加一些图形笔划,依此类推。疯狂?这是土砖