Извлечение текста из PDF-файла

Contents
[ ]

В этой статье мы рассмотрим детали извлечения текста из PDF-файла. Все эти функции извлечения предоставлены в одном месте, в классе PdfExtractor. Мы увидим, как использовать эти функции в нашем коде.

Класс PdfExtractor предоставляет три типа возможностей извлечения. Эти три категории - Текст, Изображения и Вложения. Для выполнения извлечения в каждой из этих трех категорий PdfExtractor предлагает различные методы, которые работают вместе, чтобы дать вам окончательный результат.

Например, для извлечения текста вы можете использовать три метода, т.е. ExtractText, GetText, HasNextPageText и GetNextPageText.


```csharp
public static void ExtractText()
{
    bool WholeText = true;
    // Создать объект класса PdfExtractor
    PdfExtractor pdfExtractor = new PdfExtractor();

    // Привязать входной PDF
    pdfExtractor.BindPdf(_dataDir + "sample.pdf");

    // Извлечь текст
    pdfExtractor.ExtractText();

    if (!WholeText)
    {
        pdfExtractor.GetText(_dataDir + "sample.txt");
    }
    else
    {
        // Извлечь текст в отдельные файлы
        int pageNumber = 1;
        while (pdfExtractor.HasNextPageText())
        {
            pdfExtractor.GetNextPageText($"{_dataDir}\\sample{pageNumber:D3}.txt");
            pageNumber++;
        }
    }
}

Для извлечения режима извлечения текста используйте следующий код:

public static void ExtractTextExtractonMode()
{
    bool WholeText = true;
    // Создайте объект класса PdfExtractor
    PdfExtractor pdfExtractor = new PdfExtractor();

    // Привяжите входной PDF
    pdfExtractor.BindPdf(_dataDir + "sample.pdf");

    // Извлечение текста
    // pdfExtractor.ExtractTextMode = 0; //чистый режим
    pdfExtractor.ExtractTextMode = 1; //сырой режим
    pdfExtractor.ExtractText();


    if (!WholeText)
    {
        pdfExtractor.GetText(_dataDir + "sample.txt");
    }
    else
    {
        // Извлекайте текст в отдельные файлы
        int pageNumber = 1;
        while (pdfExtractor.HasNextPageText())
        {
            pdfExtractor.GetNextPageText($"{_dataDir}\\sample{pageNumber:D3}.txt");
            pageNumber++;
        }
    }
}