获取PDF内容

时间:2017-04-06 11:25:44

标签: c# pdf itext pdf-reader pdftotext

我想阅读一些内容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,然后阅读我想要的内容。

专业人士的想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用iText,您还可以选择用于提取文本的特定策略。但请记住,这始终是一个启发式过程。

Pdf文档基本上只包含为查看器呈现文档所需的指令。所以没有“文本”的概念。更像是“在420,890处画出角色A”。

为了使任何文本提取起作用,它需要猜测两个字符何时足够接近它们应该连接在一起,以及何时它们应该分开。

巧合的是,iText根据正在使用的字体中单个空格字符的宽度来执行此操作。

请记住,也可能有ActualText(这是一种隐藏在文档中的文本,仅用于提取。它使文档可以呈现像“œ”这样的字符(连字版本) ),被提取为“oe”(非结合版本)。

根据您的输入文档,您可能希望查看ITextExtractionStrategy的不同实现。