1. Продукти
  2.   Aspose.OCR
  3.   Aspose.OCR FOSS for .NET

Aspose.OCR FOSS для .NET

Відкрита бібліотека .NET для виявлення та розпізнавання тексту на зображеннях і PDF-документах. Ліцензія MIT, працює офлайн із вбудованими моделями ONNX.

Open-Source .NET бібліотека для виявлення та розпізнавання тексту

Aspose.OCR FOSS for .NET є безкоштовною бібліотекою C# з ліцензією MIT для виявлення та розпізнавання тексту у растрових зображеннях та PDF-документах без потреби у зовнішньому OCR-програмному забезпеченні або служб. Весь конвеєр — виявлення рядків тексту, уточнення регіонів та розпізнавання латинського скрипту — виконується локально за допомогою трьох ONNX-моделей, вбудованих безпосередньо в збірку та виконується на CPU через Microsoft.ML.OnnxRuntime; не потрібно завантажувати модель і не здійснюються мережеві виклики під час виконання. API зосереджений навколо AsposeOcr.Recognize(), який приймає OcrInput, створений з одного або декількох файлів (InputType.SingleImage або InputType.PDF) і повертає OcrOutput — один RecognitionResult на зображення або сторінку PDF, у порядку джерела. Кожен RecognitionResult надає повний текст сторінки через RecognitionText та окремі розпізнані рядки, кожен з їхньою обмежувальною рамкою у піксельних координатах, через RecognitionLinesResult. Сторінки PDF рендеряться внутрішньо (через Aspose.PDF.FOSS) перед розпізнаванням, тому окремий крок конвертації PDF у зображення не потрібен. Aspose.OCR FOSS для .NET має ліцензію MIT. Встановіть її за допомогою dotnet add package Aspose.OCR.FOSS. Для сімейства корпоративних продуктів дивіться Aspose.OCR — Enterprise Product Family.

Розпізнавання тексту в зображеннях та PDF

  • AsposeOcr.Recognize(OcrInput) є єдиною точкою входу як для зображень, так і для PDF
  • OcrInput приймає InputType.SingleImage або InputType.PDF; додайте один або кілька шляхів до файлів за допомогою OcrInput.Add()
  • Для InputType.PDF кожна сторінка розпізнається і повертається у порядку джерела
  • Результатом є OcrOutput — один RecognitionResult на зображення або сторінку PDF

Де використовується розпізнавання тексту

  • Оцифрування відсканованих документів у пошуковий, копійований текст
  • Витяг тексту зі сканованих PDF, які не містять вбудованого текстового шару
  • Обробка сканованих форм, квитанцій і рахунків у пакетному конвеєрі
  • Індексація великих архівів сканованих зображень для повнотекстового пошуку

Текст на рівні рядка та обмежувальні рамки

  • RecognitionResult.RecognitionText повертає повний розпізнаний текст сторінки
  • RecognitionResult.RecognitionLinesResult повертає один RecognitionResult.LinesResult на кожен виявлений рядок тексту
  • Кожен RecognitionResult.LinesResult.TextInLine містить розпізнаний текст цього рядка
  • Кожен RecognitionResult.LinesResult.Line є System.Drawing.Rectangle, що задає піксельні координати рядка у вихідному зображенні

Де використовується дані на рівні рядка

  • Малювання накладок розпізнаних регіонів поверх вихідного зображення
  • Створення пошукового текстового шару, розташованого над сканованою сторінкою
  • Перегляд точності розпізнавання по рядкам під час QA
  • Керування інструментами затирання або анотування за координатами рядків

Працює повністю офлайн, без зовнішніх сервісів

  • Усі три ONNX моделі (детекція, уточнення, розпізнавання латиниці) вбудовані як збірка ресурси — нічого окремо завантажувати не потрібно
  • Розпізнавання виконується повністю на локальному CPU через Microsoft.ML.OnnxRuntime
  • OcrInput може містити кілька файлів; OcrOutput зберігає їх початковий порядок
  • Підтримувані типи вводу — лише InputType.SingleImage та InputType.PDF — будь-який інший тип вводу викликає NotSupportedException

Де важливе офлайн-розпізнавання

  • Окремі або регульовані середовища, у яких документи не можуть залишати мережу
  • CI/CD конвеєри без зовнішнього мережевого доступу під час збірки
  • Високогучтове пакетне розпізнавання, коли вартість хмарного OCR за виклик є проблемою
  • Обробка документів на місці з передбачуваною лише локальною затримкою

Розпізнати текст у PDF-документі

Розпізнайте кожну сторінку PDF і виведіть текст кожної сторінки у вихідному порядку.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
}

Розпізнати текст на одному зображенні

Розпізнайте одне растрове зображення та виведіть його розпізнаний текст.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

Прочитати розпізнані рядки та їхні обмежувальні рамки

Ітерація розпізнаних рядків і виведення тексту кожного рядка разом із його піксельними координатами.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("document.jpg");
RecognitionResult result = api.Recognize(input)[0];
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}, width={bounds.Width}, height={bounds.Height}: {line.TextInLine}");
}

Часті Питання

Яка модель ліцензування?

Aspose.OCR FOSS for .NET має ліцензію MIT. Ви можете використовувати, змінювати та розповсюджувати його, включаючи комерційні продукти, без додаткових ліцензійних зборів.

Як я можу встановити Aspose.OCR FOSS for .NET?

Перегляньте розділ встановлення вище, щоб отримати поточну команду встановлення.

Які мови він розпізнає?

Текст латинським шрифтом. Параметр вибору мови відсутній, і нелатинські скрипти не підтримуються вбудованою моделлю розпізнавання.

Чи потрібне підключення до інтернету?

Ні. Усі три ONNX-моделі (детекція, уточнення, розпізнавання) вбудовані в збірку і виконуються локально через Microsoft.ML.OnnxRuntime.

Чи можу я розпізнавати кілька файлів в одному виклику?

Так — додайте кілька файлів до того самого OcrInput перед викликом AsposeOcr.Recognize(). Повернений OcrOutput зберігає їх порядок.

  

Ресурси Підтримки та Навчання

 Українська