将文本从pdf提取到c#

时间:2012-02-29 14:17:55

标签: c# pdf

我正在寻找一种从pdf中提取文本并在程序中使用它的方法。我已经在网上做了一些研究,并得到了一些工作。这些不是免费软件;然而,在那里受到限制。

所以我正在寻找一个免费的图书馆。我想到了ITextSharp,但我不知道如何开始。 你能帮助我吗?

2 个答案:

答案 0 :(得分:3)

类似的东西应该适合你。你必须要看它 - 它们一直在用iTextSharp版本更改功能名称,这有点烦人 - Lol

public static string GetPDFText(String pdfPath)
{
    PdfReader reader = new PdfReader(pdfPath); 

    StringWriter output = new StringWriter();  

    for (int i = 1; i <= reader.NumberOfPages; i++) 
        output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()));

    return output.ToString();
}

答案 1 :(得分:0)

iTextSharp是开源的,但版本4.1.6之后的许可模式已更改。旧许可证严格程度要低得多,而新许可证要求付款,如果您在商业上使用它并且不想发布源代码。这可能会或可能不会影响您。

这是使用5.1.2.0版本的最基本的文本提取版本:

//Full path to the file to read
string fileToRead = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"file1.pdf");
//Bind a PdfReader to our file
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(fileToRead);
//Extract all of the text from the first page
string allPage1Text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1);
//That's it!
Console.Write(allPage1Text);