Українське OCR у C# та .NET

Інші версії цього документа:

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

Це вдосконалена вилка Tesseract, створена виключно для розробників .NET і регулярно перевершує інші двигуни Tesseract як за швидкістю, так і за точністю.

Зміст IronOcr.Languages.Ukrainian

Цей пакет містить 52 мови OCR для .NET:

  • Український
  • UkrainianBest
  • Українськийшвидкий

Завантажити

Український мовний пакет [українська мова]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Ukrainian/'> NuGet

Встановлення

Перше, що нам потрібно зробити, це встановити наш український пакет OCR у ваш проект .NET.

PM> Install-Package IronOCR.Languages.Ukrainian

Приклад коду

Цей приклад коду C#читає український текст із документа Image або PDF.

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

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

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

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

Чому вибрати IronOCR?

IronOCR - це проста у встановленні, повна та добре документована бібліотека програмного забезпечення .NET.

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

Чому розробники C#вибирають IronOCR замість Vanilla Tesseract:

  • Встановити як одну DLL або NuGet
  • Включає для Tesseract 5, 4 та 3 двигуни з коробки.
  • Точність на 99,8% значно перевершує звичайний Тессеракт.
  • Висока швидкість та багатопоточність
  • Сумісність з MVC, WebApp, робочим столом, консоллю та серверною програмою
  • Немає Exes або коду на C ++ для роботи
  • Повна підтримка OCR у форматі PDF
  • Для виконання OCR майже будь-якого файлу зображень або PDF
  • Повна підтримка .NET Core, Standard та FrameWork
  • Розгортання на Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Читайте штрих-коди та QR-коди
  • Експортуйте OCR у формат XHTML
  • Експортуйте OCR у PDF-документи, які можна шукати
  • Підтримка багатопоточності
  • 126 міжнародних мов, усіма якими управляють за допомогою файлів NuGet або OcrData
  • Витяг зображень, координат, статистики та шрифтів. Не лише текст.
  • Може використовуватися для розповсюдження OCR Tesseract у комерційних та власних додатках.

Залізо OCR блищить під час роботи з реальними зображеннями та недосконалими документами, такими як фотографії, або скани з низькою роздільною здатністю, які можуть мати цифрові шуми або недоліки.

Інші безкоштовні бібліотеки OCR для платформи .NET, такі як інші API-інтерфейси .net tesseract та веб-служби, не мають такої ефективної роботи у цих реальних випадках використання.

OCR з Tesseract 5 - Почніть кодування на C #

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

OneLiner

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.Ukrainian
using IronOcr;

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

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

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Ukrainian
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.Ukrainian;
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.Ukrainian;
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.Ukrainian
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.Ukrainian;

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.Ukrainian;

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.Ukrainian

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

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

Унікальною особливістю заліза 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 для певних областей зображень

Всі методи сканування та зчитування заліза OCR дають можливість точно вказати, з якої частини сторінки чи сторінок ми хочемо читати текст. Це дуже корисно, коли ми розглядаємо стандартизовані форми та можемо заощадити дуже багато часу та підвищити ефективність.

Щоб використовувати області обрізання, нам потрібно буде додати системне посилання на System.Drawing щоб ми могли використовувати об'єкт System.Drawing.Rectangle .

using IronOcr;

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

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.Ukrainian;

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.Ukrainian

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 для сканування низької якості

Клас IronOCR OcrInput може виправити сканування, які звичайний Tesseract не може прочитати.

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

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.Ukrainian;

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.Ukrainian

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#

Експортувати результати OCR у форматі PDF для пошуку

Зображення в PDF із копіюваними текстовими рядками. Може індексуватися пошуковими системами та базами даних.

using IronOcr;

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

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.Ukrainian;

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.Ukrainian

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 перетворення

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

using IronOcr;

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

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.Ukrainian;

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.Ukrainian

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

Експортувати результати OCR у форматі HTML

Перетворення OCR-зображень у XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Ukrainian;
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.Ukrainian;
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.Ukrainian
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 більш якісними, щоб отримати кращі та швидші результати OCR.

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

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.Ukrainian;

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.Ukrainian

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

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

Вхідні фільтри для підвищення продуктивності OCR, які вбудовані в IronOCR, включають:

  • OcrInput.Rotate (подвійні градуси) - обертає зображення на певну кількість градусів за годинниковою стрілкою. Для проти годинникової стрілки використовуйте від’ємні числа.
  • OcrInput.Binarize () - Цей фільтр зображень робить кожен піксель чорно-білим без жодної золотистої точки. Може покращити ефективність оптичного розпізнавання тексту з дуже низьким контрастом тексту до фону.
  • OcrInput.ToGrayScale () - Цей фільтр зображення перетворює кожен піксель у відтінок сірого. Навряд чи покращить точність розпізнавання, але може покращити швидкість
  • OcrInput.Contrast () - Автоматично збільшує контраст. Цей фільтр часто покращує швидкість та точність OCR при скануванні з низькою контрастністю.
  • OcrInput.DeNoise () - Видаляє цифрові шуми. Цей фільтр слід використовувати лише там, де очікується шум.
  • OcrInput.Invert () - Інвертує кожен колір. Наприклад, білий стає чорним: чорний стає білим.
  • OcrInput.Dilate () - Розширена морфологія. Розширення додає пікселі до меж об’єктів на зображенні. Навпроти Ероде
  • OcrInput.Erode () - Розширена морфологія. Ерозія видаляє пікселі на межі об’єкта, навпроти розширеного
  • OcrInput.Deskew () - Обертає зображення, щоб воно було правильним вгору та ортогональним. Це дуже корисно для OCR, оскільки допуск Tesseract для перекошеного сканування може бути до 5 градусів.
  • OcrInput.DeepCleanBackgroundNoise () - Видалення сильного фонового шуму. Використовуйте цей фільтр лише в тому випадку, якщо відомий екстремальний фоновий шум документа, оскільки цей фільтр також ризикує знизити точність OCR чистих документів і дуже дорогий для процесора.
  • OcrInput.EnhanceResolution - покращує роздільну здатність зображень низької якості. Цей фільтр часто не потрібен, оскільки OcrInput.MinimumDPI та OcrInput.TargetDPI автоматично вловлюють і вирішують входи з низькою роздільною здатністю.

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

EnhanceContrast - це параметр, який змушує OCR для заліза автоматично збільшувати контраст тексту на тлі зображення, підвищуючи точність OCR і, як правило, збільшуючи продуктивність та швидкість OCR.

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

OCR для розпізнавання мови Iron підтримує 22 міжнародні мовні пакети, а налаштування мови можна використовувати для вибору однієї або декількох мов, що застосовуються для операції OCR.

Стратегія IronOCR підтримує дві стратегії. Ми можемо вибрати швидке і менш точне сканування документа або скористатися вдосконаленою стратегією, яка використовує деякі моделі штучного інтелекту для автоматичного підвищення точності тексту OCR, розглядаючи статистичний зв’язок слів між собою в реченні .

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

DetectWhiteTextOnDarkBackgrounds. Як правило, усі бібліотеки OCR очікують побачити чорний текст на білому тлі. Цей параметр дозволяє залізному OCR автоматично виявляти негативи або темні сторінки з білим текстом і читати їх.

InputImageType. Цей параметр дозволяє розробнику керувати бібліотекою OCR щодо того, переглядає вона повний документ або фрагмент, наприклад знімок екрана.

RotateAndStraighten - це вдосконалений параметр, який дозволяє IronOCR отримати унікальну можливість читати документи, які не тільки обертаються, але, можливо, містять перспективу, наприклад, фотографії текстових документів.

ReadBarcode - це корисна функція, яка дозволяє IronOCR автоматично читати штрих-коди та QR-коди на сторінках, оскільки він також зчитує текст, не додаючи великого додаткового часового навантаження.

Глибина кольору. Цей параметр визначає, скільки бітів на піксель буде використовувати бібліотека OCR для визначення глибини кольору. Більша глибина кольору може підвищити якість OCR, але також збільшить час, необхідний для завершення операції OCR.

126 Мовні пакети

Залізо OCR підтримує 126 міжнародних мов за допомогою мовних пакетів, які розповсюджуються у форматі DLL, які можна завантажити з цього веб-сайту або з менеджера пакунків NuGet .

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

Мовний приклад

Використання інших мов 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.Ukrainian);

// Ми можемо додати будь-яку кількість мов

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.Ukrainian);

// Ми можемо додати будь-яку кількість мов

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.Ukrainian)

' Ми можемо додати будь-яку кількість мов

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

Детальні об'єкти результатів OCR

Залізо OCR повертає об'єкт результату OCR для кожної операції OCR. Як правило, розробники використовують лише властивість text цього об’єкта, щоб сканувати текст із зображення. Однак результати OOM DOM набагато вдосконаленіші, ніж це.

using IronOcr;
using System.Drawing; //Додайте посилання на збірку

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Ukrainian;
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.Ukrainian;
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.Ukrainian
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% менше помилок, ніж попередні збірки.

Вивчайте більше

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

Також доступне повне посилання на об’єкт для розробників .NET .