Как конвертировать отсканированные PDF-файлы в текстовые документы с возможностью поиска в .NET

Как конвертировать отсканированные PDF-файлы в текстовые документы с возможностью поиска в .NET

Сканированные PDF-файлы часто представляют собой сложную задачу, так как они по сути являются просто изображениями текста. Преобразование этих изображений в поисковые, редактируемые текстовые документы открывает мир возможностей для управления документами и доступности контента. С помощью Aspose.OCR для .NET вы можете преобразовать сканированные PDF-файлы в полностью поисковые документы, сохраняя оригинальные изображения.

Почему стоит преобразовывать сканированные PDF-файлы в поисковые текстовые документы?

  1. Доступность:
    • Сделайте сканированный контент поисковым, что облегчает поиск информации без необходимости вручную просматривать документ.
  2. Редактирование контента:
    • После преобразования в текст контент можно редактировать, обновлять или повторно использовать в других форматах.
  3. Эффективность:
    • Сэкономьте время, автоматизировав процесс преобразования сканированных PDF-файлов в полностью доступные текстовые документы.

Предварительные условия: Настройка для извлечения текста из сканированных PDF-файлов

Перед тем как извлечь текст из сканированных PDF-файлов, выполните следующие шаги, чтобы убедиться, что все настроено:

  1. Установите Aspose.OCR для .NET:
    • Добавьте Aspose.OCR в ваш проект с помощью NuGet:
      dotnet add package Aspose.OCR
  2. Получите вашу лицензию:
    • Настройте вашу поминутную лицензию с помощью SetMeteredKey(), чтобы разблокировать всю функциональность Aspose.OCR.
  3. Подготовьте ваш сканированный PDF:
    • Убедитесь, что сканированные PDF-файлы хорошего качества для повышения точности распознавания.

Пошаговое руководство: Преобразование сканированных PDF-файлов в поисковый текст

Шаг 1: Настройте вашу лицензию

Начните с настройки вашей лицензии Aspose.OCR для разблокировки всех функций.

using Aspose.OCR;

Metered license = new Metered();
license.SetMeteredKey("<ваш публичный ключ>", "<ваш приватный ключ>");
Console.WriteLine("Лицензия успешно настроена.");

Шаг 2: Загрузите сканированный PDF в объект ввода OCR

Затем загрузите сканированный PDF в объект OcrInput, чтобы начать процесс OCR.

OcrInput input = new OcrInput(Aspose.OCR.InputType.PDF);
input.Add("scanned_document.pdf", 0, 3);  // Обработать первые 3 страницы
Console.WriteLine("Сканированный PDF успешно загружен.");

Шаг 3: Настройте движок OCR для распознавания

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

Aspose.OCR.AsposeOcr recognitionEngine = new Aspose.OCR.AsposeOcr();
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Aspose.OCR.Language.Latin;  // Установите язык OCR
Console.WriteLine("Движок OCR настроен.");

Шаг 4: Извлеките и выведите распознанный текст

Теперь извлеките текст из сканированного PDF с помощью движка OCR.

List<Aspose.OCR.RecognitionResult> results = recognitionEngine.Recognize(input, settings);
Console.WriteLine("Текст успешно извлечен из сканированного PDF.");

// Вывод распознанного текста
foreach (Aspose.OCR.RecognitionResult result in results)
{
    Console.WriteLine(result.RecognitionText);
}

// Сохраните результат в текстовый файл
results[0].Save("recognized_text.txt", Aspose.OCR.SaveFormat.Text);
Console.WriteLine("Текст сохранен в recognized_text.txt.");

Шаг 5: Проверьте поисковый PDF

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

Общие проблемы и решения

1. Низкая точность OCR

  • Решение: Убедитесь, что сканированный PDF высокого качества (не менее 300 DPI), чтобы улучшить результаты распознавания.

2. Неподдерживаемые шрифты

  • Решение: Убедитесь, что в настройках OCR установлен правильный язык для точного распознавания текста, особенно для нелатинских символов.

3. Медленная производительность для больших PDF-файлов

  • Решение: Для больших PDF-файлов обрабатывайте документ меньшими частями или страницами, чтобы уменьшить использование памяти и ускорить процесс.
 Русский