2017-05-03 32 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。