2011-06-06 61 views
0

我正在使用CAM :: PDF Perl模块来解析PDF。除了一个问题,模块工作得很好,它似乎随机分割单词。是否有任何方法通过设置或某种算法将这些单词重新组合起来?Perl CAM :: PDF分裂文字不正确

例如:

“在纽约和都柏林设有办事处。” -Notice纽约

“价格competit离子” 正价竞争

的一段代码低于:

$pdf = CAM::PDF->new($pdf_name);  
    $text = $pdf->getPageText($page); 
    print("$text\n"); 

;

+1

您是如何使用模块的?显示你的代码,让想要帮助的人有一些事情可以开始。 – daxim 2011-06-06 19:49:28

回答

3

通常情况下,从PDF重建原始文本并不总是可行的。物理结构通常与输出不匹配。

在这种情况下,您很可能受到手动字距的影响。即在字符对上分割并调整间距以产生更令人满意的结果 - 请参见http://en.wikipedia.org/wiki/Kerning

因此,打破文字内容并输出较小的块,这被CAM::PDF识别为单独的单词。

如果您对PDF制作有一些控制,可以尝试使用字体和字距设置 - 但这也可能会影响输出质量。

PDF::OCR2可能会更有力地处理字距变化,并可能会更好地识别原始文本。

+0

为什么说PDF :: OCR2更有可能更强大地处理字距?我注意到它在近2年内没有更新,这总让我担心。 – user387049 2011-06-07 18:27:55

+0

仅仅因为它在图像上工作,所以可能会更好地识别单词。 – dwarring 2011-06-07 22:41:22