Во многих бизнес‑процессах отсканированные 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#
- Загрузите отсканированный PDF в
Aspose.Pdf.Document. - Настройте параметры OCR (язык, разрешение, разделитель страниц).
- Примените
OcrTextAbsorberк коллекции страниц документа. - Получите распознанный текст и сохраните его.
Пример демонстрирует загрузку отсканированного 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#
- Откройте ваше решение .NET в Visual Studio.
- Откройте Package Manager Console и выполните
Install-Package Aspose.PDF. - Добавьте
using Aspose.Pdf;иusing Aspose.Pdf.Ocr;в начало вашего файла класса. - Убедитесь, что у вас есть временная или полная лицензия; без неё вывод может содержать водяной знак.
Для получения информации о лицензировании см. страницу временной лицензии.
Пошаговая реализация на C#
На что отвечает этот раздел? Каковы точные шаги кода для извлечения текста?
- Инициализировать документ
var pdfPath = "path/to/scanned.pdf"; var document = new Document(pdfPath); - Создать параметры OCR
var ocrOptions = new OcrTextRecognitionOptions { Language = OcrLanguage.English, Resolution = 300, PageSeparator = "\n--- Page Break ---\n" }; - Запустить абсорбер
var absorber = new OcrTextAbsorber(ocrOptions); document.Pages.Accept(absorber); - Получить извлечённый текст
string extractedText = absorber.Text; - Сохранить или обработать текст
System.IO.File.WriteAllText("output.txt", extractedText);
Код следует тому же потоку, что и полный пример выше, но разбивает логику на усваиваемые шаги.
Получить бесплатную лицензию
Оцените Aspose.PDF бесплатно, запросив временную лицензию здесь: https://purchase.aspose.com/temporary-license/
Бесплатные дополнительные ресурсы
Заключение
Это руководство провело вас через процесс извлечения текста из отсканированных PDF с использованием Aspose.PDF OCR в C#. Вы узнали, как установить библиотеку, настроить параметры OCR для точности, реализовать чистый конвейер извлечения и применить оптимизации производительности для больших документов. С помощью этих техник любой разработчик .NET может превратить PDF, содержащие только изображения, в поисковые, редактируемые текстовые потоки.
Часто задаваемые вопросы
Как извлечь текст из отсканированного PDF в C# с использованием Aspose.PDF?
СоздайтеDocument, настройтеOcrTextRecognitionOptions, запуститеOcrTextAbsorberна страницах и прочитайте свойствоText.Какие языки OCR поддерживает Aspose.PDF?
Библиотека поддерживает множество языков через перечислениеOcrLanguage, включая английский, французский, немецкий, испанский, китайский и другие.Как улучшить точность OCR для сканов с низким разрешением?
УвеличьтеResolution(например, 300 DPI), выберите правильный язык и рассмотрите предварительную обработку изображений для повышения контрастности.Безопасно ли обрабатывать большие PDF-файлы параллельно?
Да, разделив документ на диапазоны страниц и обрабатывая каждый диапазон в отдельном потоке, контролируя использование памяти.Какая лицензия требуется для функций OCR?
OCR полностью доступен при наличии действующей лицензии Aspose.PDF for .NET; временную лицензию можно получить для оценки.Где можно найти более подробную документацию по настройкам OCR?
Подробные рекомендации по настройке OCR доступны в документации Aspose.PDF OCR по адресу https://docs.aspose.com/pdf/net/.
