Aspose.OCR FOSS for .NET — Усунення неполадок
На цій сторінці перелічено помилки та обмеження, які найчастіше виникають під час інтеграції Aspose.OCR FOSS для .NET, із вказанням реальної причини кожної з них.
Виключення, які генерує Recognize()
AsposeOcr.Recognize() перевіряє вхідні дані перед запуском будь-якої моделі. Кожна перевірка нижче не проходить у цьому порядку:
| Exception | Причина | Виправлення |
|---|---|---|
ArgumentNullException | Значення OcrInput, передане до Recognize(), є null | Завжди створюйте OcrInput перед викликом Recognize() |
NotSupportedException | OcrInput було створено з InputType, відмінного від SingleImage або PDF | Лише InputType.SingleImage та InputType.PDF є допустимими |
FileNotFoundException | Шлях, доданий за допомогою OcrInput.Add(), не існує на диску | Перевіряйте кожен шлях перед викликом Add() — відсутній файл призводить до помилки всього виклику, а не лише цього файлу |
Розпізнавання не повертає текст
Якщо RecognitionResult.RecognitionText порожній і RecognitionLinesResult не має записів, детектор не знайшов жодної області рядка тексту на зображенні. Це очікувано — не помилка — для:
- Зображення без розбірливого тексту або текст, який занадто малий, повернутий або має низький контраст, щоб детектор розпізнав його як область
- Нелатинські писемності: вбудована модель розпізнавання охоплює лише латинський текст та його діакритичні знаки
- Зображення, у яких виявлені області були відфільтровані під час пост-обробки (дуже низькі оцінки ймовірності тексту)
Не надається оцінка впевненості, що дозволяє розрізнити “nothing detected” від “detected but uncertain” — дивіться Обсяг та обмеження.
Розпізнавання працює, але результати виглядають неправильними
- Повернений або спотворений текст. Автоматичне випрямлення або корекція обертання відсутні. Попередньо поверніть вихідне зображення перед викликом
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.SingleImageandInputType.PDFв одномуOcrInput. Не підтримується — дивіться Як пакетно обробляти кілька зображень.