Обзор возможностей
Обзор функций
Эта страница представляет API распознавания библиотеки и возможности, подробно описанные в других разделах данного руководства. AsposeOcr является точкой входа во всю библиотеку. Его метод Recognize() принимает OcrInput и возвращает OcrOutput — список RecognitionResult, по одному на изображение или страницу PDF.
Распознавание одиночных изображений и PDF
OcrInput создаётся с помощью InputType — InputType.SingleImage для растрового изображения или InputType.PDF для PDF-документа. Файлы ставятся в очередь с помощью OcrInput.Add(). Удаление OcrInput лишь очищает находящиеся в очереди пути к файлам.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);Результаты распознавания
Каждый RecognitionResult раскрывает RecognitionText (полный распознанный текст страницы) и RecognitionLinesResult (список RecognitionResult.LinesResult, каждый из которых содержит TextInLine и ограничивающий прямоугольник System.Drawing.Rectangle в Line).
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}Пакетная обработка
OcrInput принимает более одного файла одного и того же типа ввода. OcrOutput сохраняет порядок, в котором файлы были добавлены, с одним RecognitionResult на файл (или на страницу PDF).
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);Советы и лучшие практики
- Освободите
OcrInput(или оберните его в операторusing) после завершения распознавания, чтобы освободить связанные ресурсы. - Поддерживаются только
InputType.SingleImageиInputType.PDF— любой другой тип ввода вызываетNotSupportedException. - Распознавание поддерживает только латинский алфавит; параметр выбора языка отсутствует.
- Страницы PDF рендерятся внутренне перед распознаванием, поэтому отдельный шаг конвертации PDF в изображение не требуется.
Распространённые проблемы
| Проблема | Причина | Исправление |
|---|---|---|
NotSupportedException на Recognize() | Объект OcrInput был построен с неподдерживаемым InputType | Используйте только InputType.SingleImage или InputType.PDF |
FileNotFoundException на Recognize() | Путь, добавленный через OcrInput.Add(), не существует | Проверьте путь к файлу перед вызовом Add() |
Пустой RecognitionLinesResult | В этом изображении или на странице не обнаружено строк текста | Убедитесь, что исходное изображение содержит разборчивый, не повернутый текст на латинице |
FAQ
Какие языки распознаёт Aspose.OCR FOSS для .NET?
Текст латинского алфавита. Встроенная модель распознавания не охватывает нелатинские скрипты.
Требуется ли интернет-соединение?
Нет. Все три модели ONNX (детекция, уточнение, распознавание) встроены в сборку и запускаются локально через Microsoft.ML.OnnxRuntime.
Можно ли распознать несколько файлов за один вызов?
Да — добавьте несколько файлов в один OcrInput перед вызовом AsposeOcr.Recognize(). Возвращаемый OcrOutput сохраняет их порядок.
На каких платформах это работает?
Он нацелен на .NET Standard 2.0, .NET Framework 4.8 и .NET 8.0+. Обработка изображений требует Windows, потому что зависит от System.Drawing.Common.
API Reference Сводка
| Класс/Метод | Описание: |
|---|---|
AsposeOcr.Recognize(OcrInput) | Точка входа: распознает текст и возвращает OcrOutput |
OcrInput.Add(string) | Помещает путь к файлу в очередь для распознавания |
InputType | Перечисление: SingleImage или PDF |
RecognitionResult.RecognitionText | Полный распознанный текст страницы |
RecognitionResult.RecognitionLinesResult | Список распознанных строк с ограничивающими рамками |
RecognitionResult.LinesResult.TextInLine | Распознанный текст для одной строки |
RecognitionResult.LinesResult.Line | Ограничивающий прямоугольник в пиксельных координатах для одной строки |