x获取PDF文件的正确字数

  • 本文关键字:获取 PDF 文件 pdf xpdf
  • 更新时间 :
  • 英文 :


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

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

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

我认为没有可靠的单词计数。例如,为了让你的生活更艰难,可以将这个可爱的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>

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

相关内容

  • 没有找到相关文章