Отсканированный отчёт может содержать информацию, которую вы хотите отредактировать или добавить в свою документацию. С помощью OCR вы можете распознать текст на изображении и сохранить его в формате Markdown вместо того, чтобы перепечатывать его.
В этой статье вы узнаете, как преобразовать изображение PNG или JPG в Markdown на C# с использованием Aspose.OCR for .NET. Вы также увидите, как вывод может включать распознанные таблицы и обнаруженные изображения.
Библиотека OCR на C# для преобразования изображений в Markdown
Aspose.OCR for .NET позволяет распознавать текст на изображениях и сохранять результаты в нескольких форматах, включая Markdown. Для этого руководства используйте версию 26.10.0 или новее. В версии 26.10 было введено параметр DOCUMENT_LAYOUT, используемый в примере, а также улучшен экспорт в Markdown с информацией о макете.
Установите пакет в ваш .NET консольный проект, используя следующую команду:
dotnet add package Aspose.OCR --version 26.10.0
Вам также понадобится читаемый PNG или JPG‑изображение и разрешение на запись выходных файлов. Чтобы следовать примеру, поместите изображение с именем report.png в каталог вашего проекта.
Пробная версия ограничивает количество распознаваемого текста. Чтобы снять это ограничение во время оценки, вы можете запросить временную лицензию и применить её перед распознаванием. Смотрите документацию по лицензированию для получения подробностей.
Преобразование изображения в Markdown на C#
Следующие шаги показывают, как распознать изображение и сохранить результат в виде Markdown:
- Создайте экземпляр класса
AsposeOcr. - Создайте объект
OcrInputдля одного изображения и добавьте файл изображения. - Установите
DetectAreasModeвDOCUMENT_LAYOUTв объектеRecognitionSettings. - Вызовите метод
Recognizeдля обработки изображения. - Сохраните результаты, используя
OcrOutput.SaveиSaveFormat.Md.
Для этого примера используйте изображение отчёта, содержащего заголовок, текст, таблицу и иллюстрацию. Замените содержимое файла Program.cs следующим кодом:
using Aspose.OCR;
// Create the OCR engine.
AsposeOcr recognitionEngine = new AsposeOcr();
// Add the image to the input.
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("report.png");
// Enable document layout detection.
RecognitionSettings settings = new RecognitionSettings
{
DetectAreasMode = DetectAreasMode.DOCUMENT_LAYOUT
};
// Recognize the image.
OcrOutput results = recognitionEngine.Recognize(input, settings);
// Save the recognition result as Markdown.
results.Save("report.md", SaveFormat.Md);
Запустите приложение из каталога проекта:
dotnet run
Приложение читает report.png и сохраняет результат распознавания как report.md. Оба пути относительны к текущему рабочему каталогу приложения. Для изображения JPG измените путь ввода на ваш JPG‑файл; шаги распознавания и экспорта остаются теми же.
DOCUMENT_LAYOUT обнаруживает элементы документа, которые можно использовать для организации вывода в формате Markdown. Результат зависит от изображения и распознанного содержимого, поэтому проверьте вывод по сравнению с оригиналом. Пример следует за Aspose.OCR 26.10 release notes.
Обзор сгенерированного Markdown
Откройте report.md в текстовом редакторе или просмотрщике Markdown. Вы можете редактировать распознанный текст и при необходимости корректировать его структуру. Когда движок OCR распознаёт таблицу, экспорт может представить её в виде таблицы Markdown.
Следующий фрагмент иллюстрирует синтаксис таблиц и изображений в Markdown. Это не фактический вывод OCR; содержание и пути в вашем результате будут зависеть от исходного изображения и распознавания:
## Quarterly Report
| Product | Sales |
| --- | --- |
| Product A | 120 |

Когда изображение обнаружено и включено в вывод файла, Aspose.OCR может сохранить его в каталог изображений, специфичный для документа, рядом с сгенерированным Markdown, и добавить ссылку на него. Держите файл Markdown и связанные с ним изображения вместе, сохраняя пути в файле, чтобы изображения могли отображаться в вашем просмотрщике Markdown.
Markdown описывает содержание и структуру; он не обязательно воспроизводит точный внешний вид оригинального отчёта.
Советы по улучшению результатов OCR
- Используйте чёткое исходное изображение. Текст и границы таблиц должны быть читаемыми на оригинальном изображении.
- Выберите подходящий язык распознавания. Установите
RecognitionSettings.Language, когда это необходимо. Некоторые языки требуют дополнительной модели распознавания; см. language documentation. - Проверьте важные детали. Сравните имена, номера, ячейки таблиц и порядок чтения с исходным изображением.
- Проверьте ссылки на изображения. Откройте Markdown в просмотрщике и убедитесь, что извлечённые изображения отображаются.
- Протестируйте типичные документы. Сложные таблицы и макеты могут потребовать ручных исправлений, поэтому просмотрите примеры перед использованием результата в автоматическом рабочем процессе.
Часто задаваемые вопросы
Могу ли я конвертировать как PNG, так и JPG изображения в Markdown на C#?
Да. Добавьте PNG или JPG файл в OcrInput, распознайте его и сохраните результаты с помощью SaveFormat.Md.
Может ли вывод Markdown содержать таблицы?
Да. Распознанные таблицы можно экспортировать как таблицы Markdown. Результат зависит от исходного изображения и того, как таблица распознаётся.
Где сохраняются обнаруженные изображения?
Для вывода в файл обнаруженные изображения могут быть сохранены в каталоге изображений, специфичном для документа, рядом с сгенерированным Markdown. Содержимое Markdown ссылается на эти файлы.
Сохраняет ли файл Markdown оригинальное расположение страницы точно?
Нет. Markdown представляет контент и структуру иначе, чем изображение страницы. Проверьте сгенерированный файл и при необходимости скорректируйте структуру.
Заключение
Используйте этот рабочий процесс в качестве отправной точки для преобразования ваших собственных отчётов или отсканированных страниц в Markdown. Прежде чем добавить результаты в вашу документацию, сравните текст, таблицы и ссылки на изображения с оригиналом.
Для получения дополнительной информации см. документацию по распознаванию. Если вам нужна помощь, посетите форум поддержки Aspose.OCR.
