Русский OCR в C#и .Net

Другие версии этого документа:

IronOCR - это программный компонент C #, позволяющий кодировщикам .NET читать текст из изображений и PDF-документов на 126 языках, включая русский.

Это усовершенствованный форк Tesseract, созданный исключительно для разработчиков .NET и регулярно превосходящий другие движки Tesseract как по скорости, так и по точности.

Содержание IronOcr.Languages.Russian

Этот пакет содержит 46 языков OCR для .NET:

  • русский
  • Русский
  • РусскийFast

Скачать

Пакет русского языка [русский язык]
* Download as Почтовый индекс
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Russian/'> NuGet

Установка

Первое, что нам нужно сделать, это установить наш пакет русского распознавания текста в ваш .NET-проект.

PM> Install-Package IronOCR.Languages.Russian

Пример кода

Этот пример кода C#читает русский текст из изображения или документа PDF.

//PM> Install-Package IronOcr.Languages.Russian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput(@"images\Russian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Russian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput(@"images\Russian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Russian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian
Using Input = New OcrInput("images\Russian.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

Почему выбирают IronOCR?

Iron OCR - это простая в установке, полная и хорошо документированная программная библиотека .NET.

Выберите IronOCR, чтобы достичь точности оптического распознавания текста 99,8% + без использования каких-либо внешних веб-сервисов, постоянной оплаты или отправки конфиденциальных документов через Интернет.

Почему разработчики C#выбирают IronOCR вместо Vanilla Tesseract:

  • Установить как одну DLL или Nuget
  • В комплект поставки входят двигатели Tesseract 5, 4 и 3 из коробки.
  • Точность 99,8% значительно превосходит обычный Tesseract.
  • Молниеносная скорость и многопоточность
  • Совместимость с MVC, WebApp, Desktop, Console и Server Application
  • Нет кода Exes или C ++ для работы
  • Полная поддержка PDF OCR
  • Чтобы выполнить OCR практически любого файла изображения или PDF
  • Полная поддержка .Net Core, Standard и FrameWork
  • Развертывание в Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Считывать штрих-коды и QR-коды
  • Экспорт OCR как в XHTML
  • Экспорт OCR в PDF-документы с возможностью поиска
  • Поддержка многопоточности
  • 126 международных языков, управление которыми осуществляется через файлы Nuget или OcrData.
  • Извлекайте изображения, координаты, статистику и шрифты. Не только текст.
  • Может использоваться для распространения Tesseract OCR внутри коммерческих и проприетарных приложений.

Iron OCR отлично подходит при работе с реальными изображениями и несовершенными документами, такими как фотографии, или сканированные изображения с низким разрешением, которые могут иметь цифровой шум или дефекты.

Другие бесплатные библиотеки OCR для платформы .NET, такие как API-интерфейсы .net tesseract и веб-службы, не так хорошо работают в этих реальных случаях использования.

OCR с Tesseract 5 - начать кодирование на C #

В приведенном ниже примере кода показано, насколько легко читать текст с изображения с помощью C#или VB .NET.

Один лайнер

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

Настраиваемый Hello World

// PM> Install-Package IronOCR.Languages.Russian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... вы можете добавить любое количество изображений
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Russian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... вы можете добавить любое количество изображений
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Russian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

Тот же подход можно аналогичным образом использовать для извлечения текста из любого документа PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Мы также можем выбрать определенные номера страниц PDF для OCR.

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 страница на каждую страницу PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Мы также можем выбрать определенные номера страниц PDF для OCR.

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 страница на каждую страницу PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Мы также можем выбрать определенные номера страниц PDF для OCR.

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 страница на каждую страницу PDF
End Using
VB   C#

OCR для многостраничных файлов TIFF

OCR Чтение формата файлов TIFF, включая многостраничные документы. TIFF также можно преобразовать непосредственно в файл PDF с возможностью поиска текста.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Штрих-коды и QR

Уникальной особенностью Iron OCR является то, что он может считывать штрих-коды и QR-коды из документов во время сканирования текста. Экземпляры класса OcrResult.OcrBarcode предоставляют разработчику подробную информацию о каждом сканированном штрих-коде.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// также доступны свойства типа и местоположения
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// также доступны свойства типа и местоположения
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' также доступны свойства типа и местоположения
Next Barcode
End Using
VB   C#

OCR в определенных областях изображений

Все методы сканирования и чтения Iron OCR предоставляют возможность точно указать, с какой части страницы или страниц мы хотим прочитать текст. Это очень полезно, когда мы рассматриваем стандартизованные формы, и может сэкономить очень много времени и повысить эффективность.

Чтобы использовать области обрезки, нам нужно будет добавить системную ссылку на System.Drawing чтобы мы могли использовать объект System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Размеры указаны в пикселях

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Размеры указаны в пикселях

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Размеры указаны в пикселях

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR для сканирования низкого качества

Класс Iron OCR OcrInput может исправить сканирование, которое обычный Tesseract не может прочитать.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // устраняет цифровой шум и плохое сканирование
Input.Deskew(); // исправляет вращение и перспективу
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // устраняет цифровой шум и плохое сканирование
Input.Deskew(); // исправляет вращение и перспективу
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' устраняет цифровой шум и плохое сканирование
Input.Deskew() ' исправляет вращение и перспективу
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Экспорт результатов распознавания текста в виде PDF-файла с возможностью поиска

Изображение в PDF с копируемыми текстовыми строками. Может индексироваться поисковыми системами и базами данных.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Преобразование TIFF в PDF с возможностью поиска

COПреобразовывайте документ TIFF (или любую группу файлов изображений) непосредственно в PDF-файл с возможностью поиска, который может быть проиндексирован в интрасети, на веб-сайте и в поисковых системах Google.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Экспорт результатов распознавания текста в формате HTML

Преобразование изображения OCR в XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

Фильтры улучшения изображения OCR

IronOCR предоставляет уникальные фильтры для объектов OcrInput для повышения производительности распознавания текста.

Пример кода улучшения изображения

Повышает качество входных изображений OCR для получения более качественных и быстрых результатов OCR.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // устраняет цифровой шум и плохое сканирование
Input.Deskew(); // исправляет вращение и перспективу
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // устраняет цифровой шум и плохое сканирование
Input.Deskew(); // исправляет вращение и перспективу
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' устраняет цифровой шум и плохое сканирование
Input.Deskew() ' исправляет вращение и перспективу
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Список фильтров изображений OCR

Входные фильтры для повышения производительности оптического распознавания текста, встроенные в IronOCR, включают:

  • OcrInput.Rotate (двойные градусы) - поворачивает изображения на определенное количество градусов по часовой стрелке. Для вращения против часовой стрелки используйте отрицательные числа.
  • OcrInput.Binarize () - этот фильтр изображения превращает каждый пиксель в черный или белый без средней основы. Может улучшить производительность распознавания текста в случаях очень низкого контраста текста по сравнению с фоном.
  • OcrInput.ToGrayScale () - этот фильтр изображения превращает каждый пиксель в оттенок серого. Маловероятно, чтобы улучшить точность распознавания, но может повысить скорость
  • OcrInput.Contrast () - автоматически увеличивает контраст. Этот фильтр часто улучшает скорость и точность распознавания текста при сканировании с низким контрастом.
  • OcrInput.DeNoise () - Удаляет цифровой шум. Этот фильтр следует использовать только там, где ожидается шум.
  • OcrInput.Invert () - инвертирует каждый цвет. Например, белый становится черным: черный становится белым.
  • OcrInput.Dilate () - Расширенная морфология. Расширение добавляет пиксели к границам объектов изображения. Напротив Эроде
  • OcrInput.Erode () - Расширенная морфология. Эрозия удаляет пиксели на границах объекта, напротив Dilate
  • OcrInput.Deskew () - поворачивает изображение так, чтобы оно было правильным и ортогональным. Это очень полезно для оптического распознавания символов, поскольку допуск Tesseract для перекоса сканирования может составлять всего 5 градусов.
  • OcrInput.DeepCleanBackgroundNoise () - Удаление сильного фонового шума. Используйте этот фильтр только в том случае, если известен сильный фоновый шум документа, потому что этот фильтр также может снизить точность распознавания чистых документов и требует больших затрат на ЦП.
  • OcrInput.EnhanceResolution - Повышает разрешение изображений низкого качества. Этот фильтр не часто требуется, поскольку OcrInput.MinimumDPI и OcrInput.TargetDPI автоматически перехватывают и разрешают входные данные с низким разрешением.

CleanBackgroundNoise. Это настройка, отнимающая некоторое время; тем не менее, это позволяет библиотеке автоматически очищать цифровой шум, скомканную бумагу и другие дефекты в цифровом изображении, которые в противном случае сделали бы его недоступным для чтения другими библиотеками OCR.

EnhanceContrast - это параметр, который заставляет Iron OCR автоматически увеличивать контраст текста на фоне изображения, повышая точность OCR и в целом повышая производительность и скорость OCR.

EnhanceResolution - это параметр, который автоматически обнаруживает изображения с низким разрешением (которые меньше 275 dpi) и автоматически масштабирует изображение, а затем повышает резкость всего текста, чтобы его можно было идеально прочитать библиотекой OCR. Хотя эта операция сама по себе занимает много времени, она обычно сокращает общее время операции распознавания текста с изображением.

Language Iron OCR поддерживает 22 международных языковых пакета, и настройку языка можно использовать для выбора одного или нескольких языков, которые будут применяться для операции OCR.

Стратегия Iron OCR поддерживает две стратегии. Мы можем выбрать либо быстрое и менее точное сканирование документа, либо использование продвинутой стратегии, которая использует некоторые модели искусственного интеллекта для автоматического повышения точности текста OCR, глядя на статистические отношения слов друг к другу в предложении. .

ColorSpace - это настройка, с помощью которой мы можем выбрать OCR в оттенках серого или в цвете. Как правило, оттенки серого - лучший вариант. Однако иногда, когда есть текст или фон схожего оттенка, но очень разного цвета, полноцветное цветовое пространство дает лучшие результаты.

DetectWhiteTextOnDarkBackgrounds. Как правило, все библиотеки OCR ожидают увидеть черный текст на белом фоне. Этот параметр позволяет Iron OCR автоматически обнаруживать негативы или темные страницы с белым текстом и читать их.

InputImageType. Этот параметр позволяет разработчику управлять библиотекой OCR относительно того, просматривает ли она полный документ или фрагмент, например снимок экрана.

RotateAndStraighten - это расширенная настройка, которая дает Iron OCR уникальную возможность читать документы, которые не только повернуты, но, возможно, содержат перспективу, например фотографии текстовых документов.

ReadBarcodes - это полезная функция, которая позволяет Iron OCR автоматически считывать штрих-коды и QR-коды на страницах, так же как и текст, без дополнительных затрат времени.

Глубина цвета. Этот параметр определяет, сколько битов на пиксель будет использовать библиотека OCR для определения глубины цвета. Более высокая глубина цвета может повысить качество распознавания текста, но также увеличит время, необходимое для завершения операции распознавания текста.

126 языковых пакетов

Iron OCR поддерживает 126 международных языков через языковые пакеты, которые распространяются как библиотеки DLL, которые можно загрузить с этого веб-сайта или также из диспетчера пакетов NuGet .

Языки включают немецкий, французский, английский, китайский, японский и многие другие. Существуют специальные языковые пакеты для паспорта MRZ, чеков MICR, финансовых данных, номерных знаков и многого другого. Вы также можете использовать любой файл tesseract ".traineddata", включая те, которые вы создаете сами.

Пример языка

Использование других языков OCR.

// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// При необходимости добавьте фильтры изображений
// В этом случае даже мысленный ввод очень низкого качества
// IronTesseract может читать то, что не умеет обычный Tesseract.

var Result = Ocr.Read(input);

// Консоль не может легко печатать арабский язык в Windows.
// Вместо этого сохраним на диск.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// При необходимости добавьте фильтры изображений
// В этом случае даже мысленный ввод очень низкого качества
// IronTesseract может читать то, что не умеет обычный Tesseract.

var Result = Ocr.Read(input);

// Консоль не может легко печатать арабский язык в Windows.
// Вместо этого сохраним на диск.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' При необходимости добавьте фильтры изображений
' В этом случае даже мысленный ввод очень низкого качества
' IronTesseract может читать то, что не умеет обычный Tesseract.

Dim Result = Ocr.Read(input)

' Консоль не может легко печатать арабский язык в Windows.
' Вместо этого сохраним на диск.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Пример нескольких языков

Также возможно OCR с использованием нескольких языков одновременно. Это действительно может помочь получить метаданные на английском языке и URL-адреса в документах Unicode.

// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Russian);

// Мы можем добавить любое количество языков

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Russian);

// Мы можем добавить любое количество языков

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Russian)

' Мы можем добавить любое количество языков

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

Объекты подробных результатов OCR

Iron OCR возвращает объект результата OCR для каждой операции OCR. Как правило, разработчики используют свойство text этого объекта только для сканирования текста с изображения. Однако модель DOM результатов OCR намного более продвинута, чем это.

using IronOcr;
using System.Drawing; //Добавить ссылку на сборку

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Важный

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Изучите здесь, чтобы найти обширный, подробный API:
// - Страницы, блоки, парафиты, строки, слова, символы
// - Экспорт изображений, координаты шрифтов, статистические данные
}
using IronOcr;
using System.Drawing; //Добавить ссылку на сборку

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Russian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Важный

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Изучите здесь, чтобы найти обширный, подробный API:
// - Страницы, блоки, парафиты, строки, слова, символы
// - Экспорт изображений, координаты шрифтов, статистические данные
}
Imports IronOcr
Imports System.Drawing 'Добавить ссылку на сборку

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Russian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Важный

Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Изучите здесь, чтобы найти обширный, подробный API:
' - Страницы, блоки, парафиты, строки, слова, символы
' - Экспорт изображений, координаты шрифтов, статистические данные
End Using
VB   C#

Спектакль

IronOCR работает "из коробки" без необходимости настройки производительности или значительного изменения входных изображений.

Скорость огромна: IronOcr.2020 + до 10 раз быстрее и делает на 250% меньше ошибок, чем предыдущие сборки.

Учить больше

Чтобы узнать больше об оптическом распознавании текста на C #, VB, F # или любом другом языке .NET, пожалуйста, прочтите наши руководства сообщества , которые дают реальные примеры того, как можно использовать Iron OCR, и могут показать нюансы того, как извлечь максимум из эта библиотека.

Также доступен полный справочник по объектам для разработчиков .NET .