Aspose.OCR FOSS for .NET — Устранение неполадок

Aspose.OCR FOSS for .NET — Устранение неполадок

На этой странице перечислены ошибки и ограничения, которые с наибольшей вероятностью возникнут при интеграции Aspose.OCR FOSS для .NET, с указанием реальной причины каждой из них.

Исключения, генерируемые Recognize()

AsposeOcr.Recognize() проверяет входные данные перед запуском любой модели. Каждая проверка ниже может завершиться неудачей в следующем порядке:

ExceptionПричинаИсправление
ArgumentNullExceptionПереданный в Recognize() OcrInput является nullВсегда создавайте OcrInput перед вызовом Recognize()
NotSupportedExceptionOcrInput был сконструирован с InputType, отличным от SingleImage или PDFТолько InputType.SingleImage и InputType.PDF допустимы
FileNotFoundExceptionПуть, добавленный через OcrInput.Add(), не существует на дискеПроверьте каждый путь перед вызовом Add() — отсутствие файла приводит к ошибке всего вызова, а не только этого файла

Распознавание не возвращает текст

Если RecognitionResult.RecognitionText пуст, а в RecognitionLinesResult нет записей, детектор не нашёл регион с текстовой строкой на изображении. Это ожидаемо — не ошибка — для:

  • Изображения без разборчивого текста, либо с текстом, слишком маленьким, повернутым или с низким контрастом, чтобы детектор мог распознать его как регион.
  • Нелатинские письмена: встроенная модель распознавания поддерживает только латинский текст и его диакритические знаки.
  • Изображения, у которых обнаруженные области были отфильтрованы во время постобработки (очень низкие оценки вероятности текста)

Не предоставляется показатель уверенности, позволяющий различать «ничего не обнаружено» и «обнаружено, но с неопределённостью» — см. Объём и ограничения.

Распознавание запускается, но результаты выглядят неверно

  • Повернутый или наклонённый текст. Автоматическое выравнивание или коррекция вращения отсутствует. Предварительно поверните исходное изображение перед вызовом Recognize().
  • Разметка таблиц или форм выглядит неупорядоченно. Детектор возвращает только прямоугольники, выровненные по осям — у него нет понятия колонок, таблиц или порядка чтения, кроме положения строки. Воссоздание макета находится в ответственности вызывающей стороны.
  • Позиция текста в PDF выглядит смещённой. Страницы PDF всегда рендерятся внутренне с разрешением 150 DPI; координаты прямоугольников в RecognitionResult.LinesResult.Line находятся в пиксельном пространстве этого отрендеренного изображения, а не в точечной системе PDF.

Проблемы платформы и сборки

  • PlatformNotSupportedException или аналогично во время выполнения на Linux/macOS. Обработка изображений зависит от System.Drawing.Common, который доступен только для Windows на .NET 6 и новее. Путь обработки изображений этой библиотеки работает только на Windows.
  • Сборка завершается ошибкой при целевой платформе. net9.0/net10.0. Создание этих целей требует .NET 10 SDK — см. Как собрать из исходного кода.
  • Mixing InputType.SingleImage and InputType.PDF в один OcrInput. Не поддерживается — см. Как пакетно обрабатывать несколько изображений.

См. также:

 Русский