IRONSOFTWAREHOME

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

Curtis Chau
Curtis Chau
Updated: 2026年5月9日
Інші версії цього документа:

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
}

Чому вибрати 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;

Настроюваний 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);
}

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
}

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);
}

Штрих-коди та 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);
// властивості типу та розташування також виявлені
}
}

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);
}

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);
}

Експортувати результати 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")
}

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")
}

Експортувати результати 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");
}

Фільтри покращення 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);
}

Список фільтрів зображень 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");
}

Приклад декількох мов

Також можливо 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");
}

Детальні об'єкти результатів 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:
// - Сторінки, блоки, парафафи, рядки, слова, символи
// - Експорт зображень, координати шрифтів, статистичні дані
}

Продуктивність

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

Швидкість блискуча: IronOCR.2020 + до 10 разів швидший і робить на 250% менше помилок, ніж попередні збірки.

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

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

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

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 6,236,385版本:2026.9剛剛發布

立即獲取您的30天試用金鑰
無需信用卡或帳戶建立
C# PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解決方案資源管理器中,右鍵點擊參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronOCR"
  3. 選擇包並安裝
C# PDF DLL
下載 DLL

版本: 2026.9

這裡下載Windows安裝程式。

  1. 下載並解壓IronOCR至您的方案目錄下的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中,右鍵點擊參考。選擇瀏覽,"IronOCR.dll"

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立