在itextpdf中应用位置提取策略后,我们可以使用文本提取策略吗?

在itextpdf中应用位置提取策略后,我们可以使用文本提取策略吗?,第1张

在itextpdf中应用位置提取策略后,我们可以使用文本提取策略吗?

请看一个

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
和我们基于字体的自制过滤器。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5507570.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存