Во многих бизнес‑процессах отсканированные PDF‑документы необходимо преобразовать в поисковый или редактируемый текст. Руководство Extract Text from Scanned PDFs with Aspose.PDF OCR in C# демонстрирует, как использовать встроенный OCR‑движок в Aspose.PDF for .NET для извлечения обычного текста из страниц, содержащих изображения. Следуя этому руководству, вы получите готовое решение, которое работает с любым отсканированным PDF, независимо от его размера или языка.

Извлечение текста из отсканированных PDF с помощью Aspose.PDF OCR SDK

Отсканированные PDF‑файлы содержат только изображения, поэтому типичные API для извлечения текста ничего не возвращают. OCR (оптическое распознавание символов) преобразует эти изображения в машинно‑читаемые символы, позволяя выполнять индексацию, добычу данных и последующую обработку. Автоматизация OCR в C# устраняет ручные операции копирования‑вставки, повышает точность и масштабируется для больших пакетов документов.

Aspose.PDF предоставляет пространство имен Aspose.Pdf.Ocr, которое включает OcrTextRecognitionOptions, OcrTextAbsorber и перечисления языков. Библиотека распространяется через NuGet. Установите её с помощью следующей команды:

Install-Package Aspose.PDF

Для получения дополнительной информации посетите страницу продукта Aspose.PDF.

Извлечение текста из отсканированных PDF с помощью Aspose.PDF OCR на C#

  1. Загрузите отсканированный PDF в Aspose.Pdf.Document.
  2. Настройте параметры OCR (язык, разрешение, разделитель страниц).
  3. Примените OcrTextAbsorber к коллекции страниц документа.
  4. Получите распознанный текст и сохраните его.

Пример демонстрирует загрузку отсканированного PDF, настройку OCR, извлечение текста и запись результата в файл с использованием C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

// Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Configure OCR recognition options
        var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
        {
            Language = Aspose.Pdf.Ocr.OcrLanguage.English,
            Resolution = 300,
            PageSeparator = "\n\n"
        };

// Recognize text from all pages
        var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
        document.Pages.Accept(absorber);

// Save recognized text
        System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
    }
}

Aspose.PDF Функции, важные для этой задачи

  • Integrated OCR engine – Нет внешних зависимостей; OCR‑движок находится в пространстве имен Aspose.Pdf.Ocr.
  • Language selection – Перечисление OcrLanguage позволяет указать словарь для более точного распознавания.
  • Resolution control – Более высокое DPI повышает точность символов, особенно при работе с бледными сканами.
  • PageSeparator – Настраиваемая строка, используемая для разделения страниц в результирующем тексте.
  • Thread‑safe page collection – Позволяет параллельную обработку больших PDF‑файлов.

Эти возможности обеспечивают надёжное решение в виде единой библиотеки для извлечения текста из любого отсканированного PDF.

Установка и настройка в C#

  1. Откройте ваше решение .NET в Visual Studio.
  2. Откройте Package Manager Console и выполните Install-Package Aspose.PDF.
  3. Добавьте using Aspose.Pdf; и using Aspose.Pdf.Ocr; в начало вашего файла класса.
  4. Убедитесь, что у вас есть временная или полная лицензия; без неё вывод может содержать водяной знак.

Для получения информации о лицензировании см. страницу временной лицензии.

Пошаговая реализация на C#

На что отвечает этот раздел? Каковы точные шаги кода для извлечения текста?

  1. Инициализировать документ
    var pdfPath = "path/to/scanned.pdf";
    var document = new Document(pdfPath);
    
  2. Создать параметры OCR
    var ocrOptions = new OcrTextRecognitionOptions
    {
        Language = OcrLanguage.English,
        Resolution = 300,
        PageSeparator = "\n--- Page Break ---\n"
    };
    
  3. Запустить абсорбер
    var absorber = new OcrTextAbsorber(ocrOptions);
    document.Pages.Accept(absorber);
    
  4. Получить извлечённый текст
    string extractedText = absorber.Text;
    
  5. Сохранить или обработать текст
    System.IO.File.WriteAllText("output.txt", extractedText);
    

Код следует тому же потоку, что и полный пример выше, но разбивает логику на усваиваемые шаги.

Получить бесплатную лицензию

Оцените Aspose.PDF бесплатно, запросив временную лицензию здесь: https://purchase.aspose.com/temporary-license/

Бесплатные дополнительные ресурсы

Заключение

Это руководство провело вас через процесс извлечения текста из отсканированных PDF с использованием Aspose.PDF OCR в C#. Вы узнали, как установить библиотеку, настроить параметры OCR для точности, реализовать чистый конвейер извлечения и применить оптимизации производительности для больших документов. С помощью этих техник любой разработчик .NET может превратить PDF, содержащие только изображения, в поисковые, редактируемые текстовые потоки.

Часто задаваемые вопросы

  1. Как извлечь текст из отсканированного PDF в C# с использованием Aspose.PDF?
    Создайте Document, настройте OcrTextRecognitionOptions, запустите OcrTextAbsorber на страницах и прочитайте свойство Text.

  2. Какие языки OCR поддерживает Aspose.PDF?
    Библиотека поддерживает множество языков через перечисление OcrLanguage, включая английский, французский, немецкий, испанский, китайский и другие.

  3. Как улучшить точность OCR для сканов с низким разрешением?
    Увеличьте Resolution (например, 300 DPI), выберите правильный язык и рассмотрите предварительную обработку изображений для повышения контрастности.

  4. Безопасно ли обрабатывать большие PDF-файлы параллельно?
    Да, разделив документ на диапазоны страниц и обрабатывая каждый диапазон в отдельном потоке, контролируя использование памяти.

  5. Какая лицензия требуется для функций OCR?
    OCR полностью доступен при наличии действующей лицензии Aspose.PDF for .NET; временную лицензию можно получить для оценки.

  6. Где можно найти более подробную документацию по настройкам OCR?
    Подробные рекомендации по настройке OCR доступны в документации Aspose.PDF OCR по адресу https://docs.aspose.com/pdf/net/.

Read More