我試圖從多頁PDF文件中的每個頁面的特定位置提取一段文本。當我使用iText從PDF文件中提取文本時我從前面的頁面獲取值
我有文本的位置,我能夠在第一頁上正確提取它。 但是在第一頁之後的頁面上,提取的文本似乎在積累。
例如,如果頁面1上的文本值是「A」,頁面2是「B」,頁面3是「C」,那麼我在我的輸出字符串中通過FOR循環進行每次迭代接收以下值:
循環1:輸出= A
環2:輸出= BA
循環3:輸出= CBA
我在我的p使用iTextSharp的項目,用C#編寫。
任何幫助,將不勝感激。
var reader = new PdfReader(foregroundFile);
RectangleJ customerIdRectangle = new RectangleJ(0, 495, 108, 27);
RenderFilter[] filters = new RenderFilter[1];
LocationTextExtractionStrategy regionFilter = new LocationTextExtractionStrategy();
filters[0] = new RegionTextRenderFilter(customerIdRectangle);
FilteredTextRenderListener strategy = new FilteredTextRenderListener(regionFilter, filters);
for (int i = 1; i <= reader.NumberOfPages; i++)
{
string output = "";
output = PdfTextExtractor.GetTextFromPage(reader, i, strategy);
Console.WriteLine(output);
}
我有同樣的問題。閱讀Bruno Lowagie給出的答案後,當我每次閱讀頁面時重新初始化LocationTextExtractionStrategy而不是重複使用同一個頁面時,問題就消失了。 LocationTextExtractionStrategy ltes = new LocationTextExtractionStrategy(); string thePage = PdfTextExtractor.GetTextFromPage(_pdf_Reader,pageNumber,ltes); – JRB