我正在使用CAM :: PDF Perl模块来解析PDF。除了一个问题,该模块工作得很好,似乎随机分割单词。有没有办法通过设置或一些算法的方法来解决这个问题?
例如:
“在New Yor k和都柏林设有办事处。” -Notice纽约
“价格竞争” - 价格竞赛
代码部分如下:
$pdf = CAM::PDF->new($pdf_name);
$text = $pdf->getPageText($page);
print("$text\n");
答案 0 :(得分:3)
通常,并不总是可以从PDF重建原始文本。物理结构通常与输出不匹配。
在这种情况下,您很可能会受到手动字距调整的影响。即拆分字符对并调整间距以产生更令人满意的结果 - 请参阅http://en.wikipedia.org/wiki/Kerning。
因此在单词中输入并输出较小的块,CAM::PDF将其识别为单独的单词。
如果您对PDF制作有一定的控制权,可以尝试使用字体和字距调整设置 - 但这也可能会影响输出质量。
PDF::OCR2可能会更有力地处理字距调整,并且可能会更好地识别原始文本。