2012-03-01 18 views
1

this topic响应帮助我理解为什么有时我 PDF未能找到一个词,为什么我继续使用 不同的PDF字数程序时获得不同的字数。我决定使用xpdf。我将它转换为文本 并添加了-layout标记,然后用Word 2003打开生成的文本文件。 我注意到了单词计数。然后,我不幸地决定删除-layout标签。 虽然这一次,字数是不同的。获得一个PDF的权利字数文件

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

(我检查another topic但认为我会看看我刚才提出的可以解决一切的解决方案。有地方建议advancedpdf另一个话题。)

+1

恳求并不完全是正确的方法:) – vulkanino 2012-03-01 14:33:26

+0

PDFs的设计不是机器可读的。无论是更便宜的方法,都可以使用手动更正的OCR解决方案或雇用人员为您计算单词。 – Kos 2012-03-01 14:56:51

+0

我想你们会告诉我,用户在OLD TOPIC中发布的信息是正确的,我应该支持它。我从那篇文章中得到的理解是,这些文字被计算在内,包括分裂成文字的文字。那么我想我会坚持这一个。谢谢! – user1242840 2012-03-01 16:35:38

回答

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

和很多pdf似乎都会生成〜像这样很伤心。 – Kos 2012-03-01 14:55:32

+0

感谢您的回复。在这个时候我不会和你争论:D – user1242840 2012-03-01 16:36:31

+1

这很简单;我看过一些PDF文件,其中几个字符放在页面顶部,然后在左边空白处再放几个字符,然后将页面顶部的其余文本放在较早的字符之后,然后将一些字符在第二列中,然后在第一个页边空白中的前几个字符之后再进行一些操作,然后页面顶部被删除,并在那里绘制不同的字符,然后将更多字符附加到第二列,然后绘制几个图形笔划,依此类推。疯狂?这个!啊! ADOBE! – 2012-03-14 19:49:37

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指望他们()。希望这是有用的。 :-)