C# iText 抽取PDF页特定区域文本内容
开发中需要提取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;
}
该方法亲测有效,能成功提取出对应位置的文本。