2016-04-25 112 views
1

最近我們不得不從itext版本5升級到版本5.2,因爲後者支持中文語言。然而,新版本的一個主要變化是它不再支持PdfTextExtractor類的配置者中的TextProvidingRenderListener類。有我們已經定製,以利用此功能的類:問題從itext5升級到itext5.2

public class CustomLocationAwarePdfRenderListener 
implements TextProvidingRenderListener 
{ 
    public CustomLocationAwarePdfRenderListener(int lineAlignErrorAllowed) 
    { 
     this.lineAlignErrorAllowed = lineAlignErrorAllowed; 
     reset(); 
    } 

但是作爲一個結果現在有沒有辦法使用這個類,並呼籲lineAlignErrorAllowed的屬性,它是CustomLocationAwarePdfRenderListener的構造的一部分。 lineAlignErrorAllowed基本上充當掃描最小編號的參數。在來源被認爲過於複雜之前的界限。 任何有關這個主題的幫助真的很感激。

+1

iText 5.5.9中的文本提取比iText 5.2好得多,那麼爲什麼不現在遷移到5.5.9現在您已決定升級?而且:iText 5.2有幾個問題。查看更改日誌:http://developers.itextpdf.com/content/changelogs/itext-520-521-february-29-2012-march-31-2012 –

+0

哇作者自己:)感謝您的及時響應。我再次與我的一位隊友進行了檢查,當他嘗試使用5.5.8版本時,他也面臨同樣的問題。如果你可以建議某種方式來實現同樣的事情,那麼真的會有所幫助,即將TextProvidingRenderListener對象作爲PdfTextExtractor類的contsructor中的一個參數傳遞。 – javshak

回答

2

在意識到最新的itext版本中的LocationTextExtractionStrategy類是TextProvidingRenderListener的有價值替代品之後,設法解決此問題。雖然這次我們不得不延長課程。唯一需要做的其他更改是通過將LocationTextExtractionStrategy的實例傳遞給getTextFromPage,將代碼更改爲使用現在靜態的PdfTextExtractor類。在尋找最新的itext API參考文檔方面有些困難,但最終得到了here。 (不知何故,它們會顯示一些不同於常規java API文檔的格式,但是可以忍受這一點)。

+1

我是iText Software自己的質量保證工程師。 :-)如果您更喜歡普通的Java API文檔,您也可以查閱http://itextsupport.com/apidocs/itext5/。這些是由我們的開發分支的CI構建的,因此最新的官方發佈可能會有一些微小的差異。 –

+0

非常感謝這個鏈接,當我開始爲apis進行搜索時,這是我期待的。如果沒有那麼麻煩,我想你可以在這個頁面上提供它http://developers.itextpdf.com/apis。爲後人收藏它! – javshak