2017-05-03 64 views
-1

如何使用iText 7從pdf頁面中獲取TextRenderInfo。我需要找到一個文本是否存在並導出該pdf頁面的y座標。有什麼建議嗎?如何從iText7的pdfpage中獲取TextRenderInfo

與..

ITextExtractionStrategy textStrategy = new SimpleTextExtractionStrategy(); 
ITextExtractionStrategy locationStrategy = new LocationTextExtractionStrategy(); 
+0

*「如何使用iText 7從pdf頁面獲取TextRenderInfo」* - 哪個「TextRenderInfo」正好?通常頁面內容解析會導致該類的很多實例... – mkl

回答

1

易的任何選項, 實施ITextExtractionStrategy(或擴展現有的實現)。 接口有以下方法

@Override 
public void eventOccurred(IEventData data, EventType type) { 

    // you can first check the type of the event 
    if (!type.equals(EventType.RENDER_TEXT)) 
     return; 

    // now it is safe to cast 
    TextRenderInfo renderInfo = (TextRenderInfo) data; 
} 

一旦你有這樣的實現,您需要使用

MyCustomStrategy strategy = new MyCustomStrategy(); // this is the class I described earlier 
PdfTextExtractor.getTextFromPage(doc.getPage(pageNr), strategy); 

您的自定義ITextExtractionStrategy可以再簡單地通過編程來存儲所有TextRenderInfo對象。並提供一個簡單的getter。