尝试打开PDF,我用lib ItextSharp 7得到错误“无法找到图像数据或EI”

时间:2017-07-06 02:29:29

标签: c# itext itext7

我正在尝试使用下面的代码(lib itext7)从pdf(附件链接)中提取文本:

       public static PageDescribe GetTextFromPage(PdfDocument fullDoc, int pageNum)
    {
        if (pageNum < 1)
            return null;
        else
        {
            PdfPage page = fullDoc.GetPage(pageNum);
            if (page == null)
                return null;                                                
            else
            {


                LocatedTextStrategy lStrat = new LocatedTextStrategy();
                string s = PdfTextExtractor.GetTextFromPage(page, lStrat,);

                DateTime _startPoint = DateTime.Now;
                lStrat.Points.Defragmentation();

                PageDescribe _res = new PageDescribe(pageNum, lStrat.Points);  
                return _res;                                                
            }
        }
    }
}

但我收到错误无法找到图像数据或EI:

See Image Error

如果我手动删除pdf的初始徽标,则不会发生此错误。但我无法更改提供此文件的源系统。

Sample of pdf here

有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我下载了您的PDF文件,并尝试使用以下代码,它适用于我(我尝试过第1页):

public string GetTextFromPage(string path, int pagenum)
{
    PdfReader reader = new PdfReader(path);
    string text = PdfTextExtractor.GetTextFromPage(reader, pagenum, new LocationTextExtractionStrategy());
    reader.Close();
    return text;
}

您可以修改上述方法以返回PageDescribe类。