У багатьох бізнес‑процесах скановані 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 Функції, які мають значення для цього завдання
- Інтегрований OCR‑двигун – Не потребує зовнішніх залежностей; OCR‑двигун розташований у просторі імен
Aspose.Pdf.Ocr. - Вибір мови –
OcrLanguageenum дозволяє вказати словник для кращого розпізнавання. - Керування роздільною здатністю – Вищий DPI підвищує точність символів, особливо для слабких сканів.
- PageSeparator – Налаштовуваний рядок для розділення сторінок у вихідному тексті.
- Потокобезпечна колекція сторінок – Дозволяє паралельну обробку великих 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‑файли, що містять лише зображення, у пошукові, редаговані текстові потоки.
FAQs
Як витягнути текст зі сканованого 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/.
