開發中需要提取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;}
該方法親測有效,能成功提取出對應位置的文本。