Отсканированный отчёт может содержать информацию, которую вы хотите отредактировать или добавить в свою документацию. С помощью 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:

  1. Создайте экземпляр класса AsposeOcr.
  2. Создайте объект OcrInput для одного изображения и добавьте файл изображения.
  3. Установите DetectAreasMode в DOCUMENT_LAYOUT в объекте RecognitionSettings.
  4. Вызовите метод Recognize для обработки изображения.
  5. Сохраните результаты, используя 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 |

![Detected illustration](path-to-extracted-image)

Когда изображение обнаружено и включено в вывод файла, 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.

См. также