我想阅读一些内容pdf文件。在进入这些东西之前,我只是开始,我只想知道正确的方法是什么。 在这种情况下,ItextSharp阅读器可能会有所帮助,因此我使用以下方法将pdf转换为文本:
public static string pdfText(string path)
{
PdfReader reader = new PdfReader(path);
string text = string.Empty;
for(int page = 1; page <= reader.NumberOfPages; page++)
{
text += PdfTextExtractor.GetTextFromPage(reader,page);
}
reader.Close();
return text;
}
我仍然想知道这种方法是否正常,或者我是否应该将此 pdf 转换为 excel,然后阅读我想要的内容。
专业人士的想法将不胜感激。
使用 iText,您还可以选取提取文本的特定策略。但请记住,这始终是一个启发式过程。
PDF 文档基本上只包含为查看者呈现文档所需的说明。所以没有"文本"的概念。更像"在位置 420、890 绘制字符 A"。
为了使任何文本提取正常工作,它需要对两个字符何时足够接近以连接它们以及何时应该分开进行一些猜测。
巧合的是,iText 根据正在使用的字体中单个空格字符的宽度执行此操作。
请记住,也可能有 ActualText(这是一种隐藏在文档中的文本,仅用于提取。它使文档呈现像"œ"(连字版本)这样的字符成为可能,该字符被提取为"oe"(非连字版本)。
根据您的输入文档,您可能需要研究ITextExtractionStrategy的不同实现。