itextsharp - 向后提取文本

时间:2015-03-27 16:28:22

标签: itextsharp

在我的生活中无法弄明白为什么当我使用iTextSharp提取文本时,一些文字会向后反复出现。

using (iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(@"C:\Temp\pdftest\sample.pdf"))
{
     string sText = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy());
}

*我使用LocationTextExtractionStragegy的原因是因为我将使用坐标从此位置拉取文本。我刚刚为我的例子添加了完整的PDF文章。如果我使用SimpleTextExtractionStrategy,则“B uy 5 egt 5”和“eerf”不会显示。

输出(来自示例代码):

B uy 5  egt 5

eerf
4x6 PRINTS    Download free   
CVS Mobile App.   

Promo code O               H m OBILe PICS        
sed items available in all stores We reserve the right to

“eerf”肯定会出现奇怪的事情。在pdf中,当您尝试选择它时,光标会变为水平(大红色免费)。

[

如果我使用acrobat professional,Advanced - > PDF优化器,选择透明度,然后保存文件,正确提取文本并选择“红色自由”。

所以有两个问题,如何在iTextSharp中模拟PDF优化器? 或者,iTextSharp如何正确读取此文本?

正如你所看到的,这是我的第一篇文章,所以不要把我打得太糟糕。

附加测试:

我甚至扩展了LocationTextExtractionStrategy和RegionTextRenderFilter,因此我可以返回每个Textchunk的坐标。关于“Big Red”Free的奇怪之处在于,F的起点和终点完全相同。 R和两个E的情况相同。我原以为终点等于文本的起点和宽度。

0 个答案:

没有答案