Чтение PDF в строке - PullRequest
       5

Чтение PDF в строке

5 голосов
/ 09 декабря 2011

Как я могу прочитать файл PDF line by line, используя iText5 для .NET?У меня есть поиск в Интернете, но я нашел только чтение файла PDF для каждого содержимого страницы.

Пожалуйста, смотрите код ниже.

public string ReadPdfFile(object Filename)
{

    string strText = string.Empty;
    try
    {
        PdfReader reader = new PdfReader((string)Filename);

        for (int page = 1; page <= reader.NumberOfPages; page++)
        {
            ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();

            String s = PdfTextExtractor.GetTextFromPage(reader, page, its);

            s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
            strText = strText + s;

        }
        reader.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    return strText;
}

Ответы [ 4 ]

5 голосов
/ 10 декабря 2011

Попробуйте, используйте LocationTextExtractionStrategy вместо SimpleTextExtractionStrategy, он добавит символы новой строки в возвращаемый текст.Затем вы можете использовать strText.Split ('\ n'), чтобы разбить ваш текст на string[] и использовать его для каждой строки.

3 голосов
/ 09 декабря 2011

Я работал в компании по чтению электронных книг и PDF-файлам. Мы потратили много времени и усилий, пытаясь определить порядок чтения текста, поскольку читатель мог читать вам ... подпрыгивающую точку .. PDF-файлы не должны иметь построчную последовательность. Книги также содержат множество элементов, которые не в порядке чтения, включая номер страницы, ссылки, подписи, примеры, несколько столбцов и т. Д. Это сложная проблема. PDF в основном формат печати в своей основе.

3 голосов
/ 09 декабря 2011

Вы можете найти здесь PDF2Text Pilot , лицензированный по программе BSD Open-Sourse.

Несмотря на то, что он написан на с ++, он может послужить вдохновляющим началом для решения вашей проблемы.

Я не опытный в C #, но я думаю, что может быть какая-то надежда на совместимость?

2 голосов
/ 09 декабря 2011

Если вы создаете программу для чтения электронных книг в формате PDF, либо просто покажите, что такое PDF, то же самое, что и другие готовые PDF-файлы.Или прочитайте текст и переформатируйте себя.

Я предпочитаю второй метод, просто отформатируйте текст как угодно, так как, если я использую программу для чтения электронных книг, мне просто нужно заботиться о содержимом и никогда не заботиться о том, как он должен выглядеть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...