
请看一个
ParseCustom例子。在此示例中,我们创建了一个自定义
RenderFilter(不是
TextExtractionStrategy):
class FontRenderFilter extends RenderFilter { public boolean allowText(TextRenderInfo renderInfo) { String font = renderInfo.getFont().getPostscriptFontName(); return font.endsWith("Bold") || font.endsWith("Oblique"); }}该文本将过滤所有文本,以便仅Postscript字体名称以粗体或斜体结尾的文本。
这是您使用此过滤器的方式:
public void parse(String filename) throws IOException { PdfReader reader = new PdfReader(filename); Rectangle rect = new Rectangle(36, 750, 559, 806); RenderFilter regionFilter = new RegionTextRenderFilter(rect); FontRenderFilter fontFilter = new FontRenderFilter(); TextExtractionStrategy strategy = new FilteredTextRenderListener( new LocationTextExtractionStrategy(), regionFilter, fontFilter); System.out.println(PdfTextExtractor.getTextFromPage(reader, 1, strategy)); reader.close();}如您所见,我们创建了一个
FilteredTextRenderListener包含两个过滤器的,一个
RegionTextRenderFilter和我们基于字体的自制过滤器。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)