【发布时间】:2016-01-28 18:19:42
【问题描述】:
我正在使用以下代码通过 iTextSharp 从 PDF 文件的第一页中提取文本:
public static string ExtractTextFromPDFFirstPage(string fileName)
{
string text = null;
using (var pdfReader = new PdfReader(fileName))
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
text = PdfTextExtractor.GetTextFromPage(pdfReader,1,strategy);
text = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text)));
}
return text;
}
它适用于许多 PDF,但不适用于其他一些。
工作 PDF:http://data.hexagosoft.com/LFBO.pdf
PDF 无效:http://data.hexagosoft.com/LFBP.pdf
这两个 PDF 似乎非常相似,但一个有效,另一个无效。 我想他们的生产者标签不一样的事实是这里的一个线索。 另一个线索是,此功能适用于没有图表的 PDF 的任何其他页面。
我也尝试过 ghostscipt,但没有成功。
Encoding 行似乎也没用。
如何使用 iTextSharp 提取非工作 PDF 第一页的文本?
谢谢
【问题讨论】:
-
两个链接都返回 503 错误...
-
抱歉,filebin.ca 似乎不可靠......我将文件托管在其他地方并编辑了我的消息
-
与您的问题没有直接关系,但完全删除了
text = Encoding.UTF8.GetString...行,因为它没有按照您的想法执行。 See this for more.
标签: c# pdf itextsharp pdftotext