我正在尝试使用下面的代码(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:
如果我手动删除pdf的初始徽标,则不会发生此错误。但我无法更改提供此文件的源系统。
有人有什么建议吗?
答案 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
类。