开发中需要提取PDF文件某页某区域内的特定文本内容,对于文字转换而成的PDF文件,可以使用iText
库,通过Rectangle
划定PDF页中特定区域提取文字,思路是将这个Rectangle
框定区域放到TextRegionEventFilter
过滤器中,代码如下:
/// <summary>/// 按指定区域提取PDF页文本/// </summary>/// <param name="page"></param>/// <param name="region"></param>/// <returns></returns>public static string ExtractPageText(PdfPage page, Rectangle region){// 创建区域过滤器TextRegionEventFilter filter = new TextRegionEventFilter(region);// 创建过滤后的文本监听器FilteredTextEventListener listener = new FilteredTextEventListener(new LocationTextExtractionStrategy(), filter);// 提取文本string extractedText = PdfTextExtractor.GetTextFromPage(page, listener);// 输出结果return extractedText;}
该方法亲测有效,能成功提取出对应位置的文本。