2011-06-06 49 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