Как извлечь текст из сканированных PDF-файлов с помощью Aspose.OCR
Экстракция текста из сканированных или изобразительных PDF-файлов, используемых для требований сложных рабочих потоков или дорогой ручной работы. С Aspose.OCR Scanned PDF to Text for .NET, вы можете автоматизировать этот процесс, конвертируя PDF в поисковый и редактируемый текст с несколькими линиями кода.
Реальные мировые проблемы
Организации часто получают контракты, отчеты или архивы, как сканированные PDF. Ручно копировать текст или искать внутри этих документов скучно и ошибочно, замедляя соответствие, архивирование и цифровые трансформационные проекты.
Решение обзор
ASPOSE.OCR для .NET позволяет комплектировать скенированные PDF-файлы — превращая их в текстовые или поисковые PDF, делая информацию доступной, индексируемой и готовой к цифровым рабочим потокам.
Предупреждения
Прежде чем начать, убедитесь, что у вас есть:
- Visual Studio 2019 или позднее
- .NET 6.0 или более поздний (или .Net Framework 4.6.2+)
- ASPOSE.OCR для .NET от NuGet
- Основное знание C#
PM> Install-Package Aspose.OCR
Step-by-Step реализация
Шаг 1: Инсталляция и настройка Aspose.OCR
Добавьте пакет NuGet и ссылку Aspose.OCR:
using Aspose.OCR;
Шаг 2: Добавить сканированные PDF-файлы
Создайте объект OcrInput для ввода PDF и добавьте сканированные PDF-файлы.
OcrInput input = new OcrInput(InputType.PDF);
input.Add("contract.pdf");
input.Add("archive.pdf");
// Optionally specify page ranges:
// input.Add("report.pdf", startPage: 0, pagesCount: 5);
Шаг 3: Установите настройки распознавания
Настроить язык и другие настройки распознавания, чтобы соответствовать вашим документам.
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
Шаг 4: Продолжайте процесс признания
Признайте текст из сканированных PDF-файлов:
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
Шаг 5: Сохраните или экспортируйте признанный текст
Экспорт признанного текста в файлы или конвертация результатов в поисковые PDF-файлы.
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText); // Show the text in console
result.Save("output.txt", SaveFormat.Text); // Save as plain text
result.Save("output.pdf", SaveFormat.Pdf); // Save as searchable PDF
}
Шаг 6: Добавить обработку ошибок
Загрузите распознавание в блок try/catch для прочности.
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// Further processing...
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
Шаг 7: Оптимизация для больших или многостраничных PDF-файлов
- Обработка PDF-страницы по страницы для больших файлов
- Используйте качественные сканировки для получения лучших результатов.
- Процесс бач паралельно для больших коллекций
// Example: Add all scanned PDFs in a folder
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
Шаг 8: Полный рабочий пример
using Aspose.OCR;
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.PDF);
input.Add("contract.pdf");
input.Add("archive.pdf");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("output.txt", SaveFormat.Text);
result.Save("output.pdf", SaveFormat.Pdf);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Используйте случаи и приложения
Цифровые архивы
Конвертировать целые библиотеки сканированных документов в поисковые, индексируемые файлы для соответствия и управления знаниями.
Юридическое и контрактное управление
Вытягивайте договорные условия или условия из PDF-файлов для пересмотра, автоматизации или цифрового подписания.
Поиск Streamlined Document
Возможность быстрого поиска полного текста в архивах, базах знаний или файлах случая.
Общие вызовы и решения
Проблема 1: низкое качество или сканированные сканы
Решение: Используйте предварительные фильтры и высококачественные сканировки, когда это возможно.
Проблема 2: Многоязычные PDF
Решение: Настроить язык в распознавательных настройках или процессах с несколькими языковыми опциями.
Проблема 3: Очень большие PDF-файлы
Решение: Процесс в комплектах или по странице, и мониторинг использования памяти.
Рассмотрим производительность
- Используйте оптимальный ДПИ (300+) для сканированных ПДФ
- Батч-процесс для наилучшего пропуска
- Установка ОКР-объектов и закрытые файловые рукописи
Лучшие практики
- Проверка выхода OCR перед дальнейшей автоматизацией
- Организация и резервное копирование оригинальных PDF-файлов
- Используйте правильный SaveFormat для вашего рабочего потока
- Регулярно обновляется Aspose.OCR для новых функций PDF
Развитые сценарии
Сценарий 1: Исключить только конкретные страницы из PDF
input.Add("archive.pdf", startPage: 5, pagesCount: 3);
Сценарий 2: Экспорт в несколько форматов
foreach (RecognitionResult result in results)
{
result.Save("output.docx", SaveFormat.Docx);
result.Save("output.json", SaveFormat.Json);
}
Заключение
ASPOSE.OCR для .NET позволяет конвертировать сканированные PDF-файлы в действующие текстовые и поисковые файлы — удаляя ручные входы и делая информацию доступной для всей организации.
Для получения дополнительных деталей и примеров см. ASPOSE.OCR для .NET API .