Извлечь текст из PDF в C # - PullRequest
       1

Извлечь текст из PDF в C #

3 голосов
/ 29 февраля 2012

Я ищу способ извлечь текст из PDF и использовать его в программе. Я провел некоторое исследование в сети и получил несколько библиотек. Это были не бесплатные программы; тем не менее, там есть ограничения.

Так что я ищу бесплатную библиотеку. Я думал об ITextSharp, но я понятия не имею, чтобы начать. Можете ли вы, ребята, помочь мне здесь?

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Нечто подобное должно работать на вас.Вы должны смотреть это - они меняют имена функций все время с выпусками 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();
}
0 голосов
/ 29 февраля 2012

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...