OCR w C# w samouczku CodeProject: Wyodrębnij tekst z obrazów za pomocą IronOCR
Optyczne rozpoznawanie znaków (OCR) w języku C# pozwala wyodrębniać tekst nadający się do odczytu maszynowego ze skanowanych dokumentów, plików graficznych i plików TIFF w aplikacjach .NET. Dzięki bibliotece IronOCR, natywnemu pakietowi OCR dla platformy .NET, wystarczy zainstalować jeden pakiet NuGet i za pomocą kilku linii kodu można rozpocząć odczytywanie tekstu z obrazów — bez usług zewnętrznych, bez zależności środowiskowych i bez opłat za każde wywołanie API.
Rozpocznij bezpłatny okres próbny IronOCR, aby śledzić poniższe przykłady kodu.
Jak zainstalować IronOCR w projekcie .NET?
Najszybszym sposobem dodania funkcji OCR do projektu .NET 10 jest skorzystanie z menedżera pakietów NuGet. Otwórz terminal w katalogu projektu i uruchom polecenie dotnet CLI lub skorzystaj z konsoli menedżera pakietów w programie Visual Studio:
# .NET CLI
dotnet add package IronOcr
# Package Manager Console
Install-Package IronOcr
# .NET CLI
dotnet add package IronOcr
# Package Manager Console
Install-Package IronOcr
Po instalacji menedżer pakietów NuGet pobiera wszystkie wymagańe zestawy i automatycznie ustawia odniesienia. IronOCR jest przeznaczony dla .NET Framework 4.6.2+, .NET Core 3.1+ oraz .NET 5 do .NET 10, dzięki czemu działa w aplikacjach konsolowych, usługach ASP.NET Core, aplikacjach WPF oraz Azure Functions.
Nie musisz rejestrować klucza licencyjnego, aby przetestować program lokalnie — na wynikach pojawi się znak wodny wersji próbnej, dopóki nie zostanie zastosowana licencja. Dodaj dyrektywę using, a gdy będziesz gotowy do produkcji, podaj swój klucz jednorazowo podczas uruchamiania:
using IronOcr;
// Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronOcr;
// Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronOcr
' Apply license key before any OCR calls (production only)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"
Szczegóły dotyczące cen i aktywacji można znaleźć na stronie licencyjnej IronOCR.
Jak wyodrębnić tekst z pliku graficznego?
Podstawowy przebieg pracy OCR obejmuje trzy obiekty: IronTesseract (silnik), OcrInput (kontener wejściowy) oraz OcrResult (kontener wyjściowy). Poniższy przykład odczytuje plik PNG i PRINTuje rozpoznany tekst w konsoli.
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("sample-document.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("sample-document.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadImage("sample-document.png")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Wynik optycznego rozpoznawania znaków

IronTesseract otacza silnik Tesseract 5 domyślnymi ustawieniami dostosowanymi do środowiska .NET oraz automatycznym zarządzaniem modelami. OcrInput.LoadImage akceptuje pliki PNG, JPEG, BMP, GIF, TIFF i WebP, więc rzadko trzeba konwertować formaty przed przekazaniem obrazu do silnika.
Właściwość OcrResult.Text zwraca zwykły ciąg znaków zawierający wszystkie rozpoznane znaki połączone znakami nowej linii. Aby uzyskać dostęp do bardziej rozbudowanych funkcji — ramki wyznaczające słowa, wskaźniki pewności, tekst w podziale na akapity — przejrzyj kolekcje result.Pages, result.Paragraphs, result.Words oraz result.Characters.
Kluczowe właściwości, o których warto wiedzieć:
result.Pages[0].Text-- tekst z jednej stronyresult.Words[n].Textiresult.Words[n].Confidence-- dokładność na WORD (0,0 -- 1,0)result.Pages[0].Paragraphs-- podział na akapity w celu strukturalnego wyodrębniania danych
Można również wywołać ocr.ReadAsync(input), aby zwolnić wątek interfejsu użytkownika w aplikacjach desktopowych lub internetowych.
Jak przetwarzasz zeskanowane dokumenty i pliki TIFF?
Wielostronicowe pliki TIFF są powszechne w procesach skanowania dokumentów. IronOCR obsługuje je za pomocą LoadImageFrames, co pozwala dokładnie wybrać, które ramki (strony) mają być przetwarzane — przydatne, gdy potrzebujesz tylko części dużego archiwum.
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
int[] pageIndices = { 0, 1, 2 };
input.LoadImageFrames("scanned-documents.tiff", pageIndices);
// Correct skew and remove noise before reading
input.Deskew();
input.DeNoise();
OcrResult result = ocr.Read(input);
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}:");
Console.WriteLine(page.Text);
}
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
int[] pageIndices = { 0, 1, 2 };
input.LoadImageFrames("scanned-documents.tiff", pageIndices);
// Correct skew and remove noise before reading
input.Deskew();
input.DeNoise();
OcrResult result = ocr.Read(input);
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}:");
Console.WriteLine(page.Text);
}
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
Dim pageIndices As Integer() = {0, 1, 2}
input.LoadImageFrames("scanned-documents.tiff", pageIndices)
' Correct skew and remove noise before reading
input.Deskew()
input.DeNoise()
Dim result As OcrResult = ocr.Read(input)
For Each page In result.Pages
Console.WriteLine($"Page {page.PageNumber}:")
Console.WriteLine(page.Text)
Next
End Using
Wynik OCR z wielostronicowego pliku TIFF

Deskew obraca obraz, aby skorygować wszelkie przechylenia spowodowane przez skanery płaskie. DeNoise usuwa plamki i artefakty JPEG, które dezorientują silnik Tesseract. Te dwa filtry przetwarzania wstępnego razem znacznie poprawiają dokładność rozpoznawania w przypadku skanów o niskiej jakości.
Dodatkowe filtry OcrInput dostępne dla trudnych materiałów źródłowych:
input.Sharpen()-- zwiększa kontrast krawędzi w przypadku rozmytych obrazówinput.Binarize()-- konwertuje na czarno-biały dla dokumentów o jakości faksowejinput.Scałe(200)-- powiększa małe obrazy w celu lepszego rozdzielenia znakówinput.Rotate(90)-- koryguje obrócony kierunek dokumentu
Pełną listę opcji przetwarzania wstępnego oraz informacje o tym, kiedy należy je stosować, można znaleźć w przewodniku po filtrach obrazów IronOCR.
Jak skonfigurować obsługę języków dla OCR?
Domyślnie IronOCR odczytuje tekst w języku angielskim. Aby przetwarzać dokumenty w innych językach, zainstaluj odpowiedni pakiet NuGet dla danego języka i ustaw właściwość Language w instancji IronTesseract.
dotnet add package IronOcr.Languages.German
dotnet add package IronOcr.Languages.French
dotnet add package IronOcr.Languages.Japanese
dotnet add package IronOcr.Languages.German
dotnet add package IronOcr.Languages.French
dotnet add package IronOcr.Languages.Japanese
Następnie skonfiguruj silnik i, w przypadku dokumentów dwujęzycznych, dodaj drugi język:
using IronOcr;
using IronOcr.Languages;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;
// For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French);
using var input = new OcrInput();
input.LoadImage("german-invoice.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
using IronOcr.Languages;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;
// For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French);
using var input = new OcrInput();
input.LoadImage("german-invoice.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports IronOcr.Languages
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.German
' For bilingual documents (e.g. Canadian forms, EU directives)
ocr.AddSecondaryLanguage(OcrLanguage.French)
Using input As New OcrInput()
input.LoadImage("german-invoice.png")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
IronOCR obsługuje ponad 125 języków, z których każdy jest dystrybuowany jako oddzielny, lekki pakiet NuGet. Dzięki temu plik binarny pozostaje niewielki — zawiera tylko te dane językowe, których aplikacja faktycznie potrzebuje. Silnik łączy modele językowe pierwotne i wtórne podczas rozpoznawania, gdy wywołujesz AddSecondaryLanguage.
Jak radzisz sobie z błędami OCR i poprawiasz wyniki rozpoznawania?
Aplikacje produkcyjne wymagają obsługi błędów w procesie OCR. Problemy z jakością obrazu, brakujące pliki lub nieobsługiwane formaty mogą powodować wyjątki. Umieszczenie wywołania w bloku try/catch zapewnia przejrzystą ścieżkę odzyskiwania.
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
try
{
using var input = new OcrInput();
input.LoadImage("document.png");
input.DeNoise();
input.Deskew();
OcrResult result = ocr.Read(input);
if (result.Text.Length > 0)
{
Console.WriteLine("Recognised text:");
Console.WriteLine(result.Text);
}
else
{
Console.WriteLine("No text was detected in the image.");
}
}
catch (Exception ex)
{
Console.WriteLine($"OCR error: {ex.Message}");
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
try
{
using var input = new OcrInput();
input.LoadImage("document.png");
input.DeNoise();
input.Deskew();
OcrResult result = ocr.Read(input);
if (result.Text.Length > 0)
{
Console.WriteLine("Recognised text:");
Console.WriteLine(result.Text);
}
else
{
Console.WriteLine("No text was detected in the image.");
}
}
catch (Exception ex)
{
Console.WriteLine($"OCR error: {ex.Message}");
}
Imports IronOcr
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English
Try
Using input As New OcrInput()
input.LoadImage("document.png")
input.DeNoise()
input.Deskew()
Dim result As OcrResult = ocr.Read(input)
If result.Text.Length > 0 Then
Console.WriteLine("Recognised text:")
Console.WriteLine(result.Text)
Else
Console.WriteLine("No text was detected in the image.")
End If
End Using
Catch ex As Exception
Console.WriteLine($"OCR error: {ex.Message}")
End Try
Kilka dodatkowych ustawień, które pomagają, gdy dokładność jest niższa niż oczekiwano:
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto-- pozwala Tesseractowi automatycznie wybierać między układem jednokolumnowym, wielokolumnowym i jednosłowowymocr.Configuration.ReadBarCodes = false-- wyłącza wykrywanie BARCODE, jeśli przetwarzasz dokumenty zawierające wyłącznie tekst i chcesz uzyskać większą przepustowośćocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5-- gwarantuje, że korzystasz z najszybszego dostępnego silnika
W przypadku formularzy strukturalnych, w których pola pojawiają się w przewidywalnych miejscach, należy użyć OCR opartego na regionach, aby odczytać tylko te obszary, które mają znaczenie:
using IronOcr;
using IronSoftware.Drawing;
var ocr = new IronTesseract();
using var input = new OcrInput();
var region = new CropRectangle(x: 50, y: 200, width: 600, height: 100);
input.LoadImage("form.png", region);
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
using IronSoftware.Drawing;
var ocr = new IronTesseract();
using var input = new OcrInput();
var region = new CropRectangle(x: 50, y: 200, width: 600, height: 100);
input.LoadImage("form.png", region);
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Dim ocr As New IronTesseract()
Using input As New OcrInput()
Dim region As New CropRectangle(x:=50, y:=200, width:=600, height:=100)
input.LoadImage("form.png", region)
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Ograniczenie rozpoznawania do prostokąta kadrowania skraca czas przetwarzania nawet o 90 procent w przypadku dużych obrazów. Technika ta doskonale nadaje się do wyodrębniania numerów faktur, odczytywania pól formularzy oraz skanowania dokumentów tożsamości. Więcej szczegółów można znaleźć w przewodniku dotyczącym regionu OCR.
Jak utworzyć plik PDF z możliwością wyszukiwania na podstawie rozpoznanego tekstu?
Konwersja archiwów zeskanowanych obrazów na pliki PDF z możliwością wyszukiwania jest jednym z najbardziej wartościowych zastosowań OCR. Plik wynikowy zachowuje oryginalny wygląd, zawierając jednocześnie niewidoczną warstwę tekstową, którą mogą indeksować przeglądarki PDF, wyszukiwarki i czytniki ekranu.
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.Title = "Quarterly Report Q1 2026";
input.LoadImage("page1.png");
input.LoadImage("page2.png");
input.LoadImage("page3.png");
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Console.WriteLine("Searchable PDF created.");
Console.WriteLine($"Pages processed: {result.Pages.Count}");
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.Title = "Quarterly Report Q1 2026";
input.LoadImage("page1.png");
input.LoadImage("page2.png");
input.LoadImage("page3.png");
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Console.WriteLine("Searchable PDF created.");
Console.WriteLine($"Pages processed: {result.Pages.Count}");
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.Title = "Quarterly Report Q1 2026"
input.LoadImage("page1.png")
input.LoadImage("page2.png")
input.LoadImage("page3.png")
Dim result As OcrResult = ocr.Read(input)
result.SaveAsSearchablePdf("searchable-output.pdf")
Console.WriteLine("Searchable PDF created.")
Console.WriteLine($"Pages processed: {result.Pages.Count}")
End Using
Wynik: Dokument PDF z możliwością wyszukiwania

SaveAsSearchablePdf tworzy plik zgodny ze standardem PDF/A, w którym każde rozpoznane słowo jest umieszczone w dokładnych współrzędnych pikselowych oryginalnego obrazu. Programy Adobe Acrobat, Preview w systemie macOS oraz Foxit Reader obsługują wyszukiwanie pełnotekstowe w tych plikach natychmiast po ich wygenerowaniu.
W przypadku internetowych przeglądarek dokumentów lub dalszych etapów przetwarzania języka naturalnego (NLP) należy zamiast tego użyć result.SaveAsHocrFile("output.hocr"). Format hOCR to otwarty standard XML, który koduje ramki ograniczające poszczególne słowa obok tekstu, umożliwiając podświetlanie wyników wyszukiwania po stronie klienta oraz adnotacje dotyczące dostępności na poziomie słów.
Dodatkowe formaty wyjściowe dostępne w OcrResult:
result.SaveAsHocrFile("output.hocr")-- hOCR XML z danymi pozycyjnymiresult.ToXDocument()-- LINQ-queryable XDocument do przetwarzania programowegoresult.Pages[0].Text-- zwykły tekst na stronie dla potoków strumieniowych
W przypadku aplikacji, które już współpracują z IronPDF, można bezpośrednio włączyć OcrResult do procesów generowania plików PDF, łącząc ekstrakcję OCR z edycją plików PDF w jednym procesie .NET.
Jak odczytywać BarCodes obok tekstu?
IronOCR potrafi odczytywać kody kreskowe i kody QR osadzone w tym samym obrazie co drukowany tekst, co eliminuje potrzebę uruchamiania osobnej biblioteki kodów kreskowych. Włącz tę funkcję za pomocą jednej właściwości konfiguracyjnej:
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
using var input = new OcrInput();
input.LoadImage("shipping-label.png");
OcrResult result = ocr.Read(input);
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
Console.WriteLine("Barcodes:");
foreach (var barcode in result.Barcodes)
{
Console.WriteLine($" {barcode.Format}: {barcode.Value}");
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
using var input = new OcrInput();
input.LoadImage("shipping-label.png");
OcrResult result = ocr.Read(input);
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
Console.WriteLine("Barcodes:");
foreach (var barcode in result.Barcodes)
{
Console.WriteLine($" {barcode.Format}: {barcode.Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Obsługiwane formaty BarCodes to Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, PDF417, Data Matrix i QR Code. Pełne informacje znajdują się w przewodniku po odczytywaniu kodów kreskowych IronOCR.
Ta funkcja jest szczególnie przydatna w zastosowaniach logistycznych, medycznych i detalicznych, gdzie etykiety wysyłkowe, opaski pacjentów i metki produktów zawierają zarówno tekst czytelny dla człowieka, jak i BARCODE czytelny dla maszyn.
Jak wypada IronOCR na tle innych rozwiązań OCR dla platformy .NET?
Programiści oceniający biblioteki OCR dla platformy .NET zazwyczaj biorą pod uwagę bibliotekę IronOCR, Tesseract.NET oraz usługi w chmurze, takie jak Google Cloud Vision lub Azure Computer Vision. Poniższa tabela podsumowuje kluczowe różnice:
| Kryteria | IronOCR | Tesseract.NET | Azure Computer Vision |
|---|---|---|---|
| Wdrożenie | Lokalnie lub w chmurze, bez wywołań zewnętrznych | Lokalnie | Dostępne wyłącznie w chmurze, wymaga połączenia z Internetem |
| Instalacja | Pojedynczy pakiet NuGet | Wiele pakietów + natywne pliki binarne | SDK + subskrypcja Azure |
| Pakiety językowe | Ponad 125 pakietów dostępnych za pośrednictwem NuGet | Ręczne pobieranie plików tessdata | Zarządzane przez Azure |
| Wynik w formacie PDF z możliwością wyszukiwania | Wbudowane wywołanie jednej metody | Nie obejmuje | Nie obejmuje |
| Wstępne przetwarzanie obrazów | Ponad 12 wbudowanych filtrów | Wymagane ręczne przetwarzanie wstępne | Automatyczne (po stronie serwera) |
| Model cenowy | Jednorazowa Licencja wieczysta | Open source (Apache 2.0) | Rozliczenie za połączenie |
Tesseract, utrzymywany przez Google jako projekt open source, stanowi podstawę działania zarówno IronOCR, jak i Tesseract.NET. IronOCR dodaje opakowanie zgodne z idiomami .NET, automatyczne zarządzanie modelami oraz funkcje wyjściowe (PDF z możliwością wyszukiwania, eksport hOCR), których brakuje w surowych powiązaniach Tesseract. Azure Computer Vision zapewnia najnowocześniejszą dokładność w chmurze, ale wiąże się z opóźnieniami sieciowymi i kosztami za każde wywołanie, co nie jest odpowiednie dla przepływów pracy o dużej objętości lub offline.
W sytuacjach, w których przepisy dotyczące ochrony danych zabraniają wysyłania dokumentów do usług zewnętrznych — np. dokumentacja medyczna, dokumenty prawne, sprawozdania finansowe — odpowiednim wyborem jest biblioteka lokalna, taka jak IronOCR.
Jakie są Twoje kolejne kroki?
Masz teraz elementy potrzebne do dodania funkcji OCR do dowolnej aplikacji .NET 10: instalację przez NuGet, podstawowe wyodrębnianie tekstu z obrazu, przetwarzanie wielostronicowych plików TIFF, konfigurację języka, obsługę błędów, odczyt oparty na regionach, wykrywanie BARCODE-ów oraz generowanie plików PDF z możliwością wyszukiwania.
Aby dowiedzieć się więcej, zapoznaj się z poniższymi zasobami IronOCR:
- Strona główna dokumentacji IronOCR — pełny opis Dokumentacji API i przewodniki po funkcjach
- Samouczek dotyczący filtrów obrazu — szczegółowy przewodnik po wszystkich filtrach przetwarzania wstępnego
- Przewodnik po odczytywaniu BARCODE-ów — QR i BARCODE-y liniowe wraz z tekstem
- Poradnik dotyczący OCR w Regionie — rozpoznawanie oparte na kadrowaniu dla formularzy i dokumentów tożsamości
- Informacje o językach — pełna lista ponad 125 obsługiwanych języków
- Dokumentacja API — wszystkie klasy, metody i właściwości
W przypadku pytań dotyczących licencji lub wdrożenia IronOCR w środowisku produkcyjnym odwiedź stronę licencyjną IronOCR. Bezpłatna licencja próbna usuwa znaki wodne z wyników podczas okresu testowego, a zespół wsparcia Iron Software jest dostępny w przypadku pytań technicznych na każdym poziomie.
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010010010101000100010101000100010111110101011101001001010100010010000101111101010000010100100100111101000100010101010100001101010100010111110101010001010010010010010100000101001100010111110100001001001100010011110100001101001011--}
Często Zadawane Pytania
Czym jest OCR i jakie korzyści przynosi programistom C#?
OCR, czyli optyczne rozpoznawanie znaków, przekształca dokumenty, takie jak zeskanowane dokumenty, pliki PDF lub obrazy, w dane, które można edytować i przeszukiwać. Dla programistów C# OCR upraszcza przetwarzanie dokumentów, umożliwiając aplikacjom wyodrębnianie tekstu z obrazów i zeskanowanych dokumentów, zwiększając dostępność i użyteczność danych.
Jak wdrożyć OCR w projekcie C#?
Aby zaimplementować OCR w projekcie C#, należy zainstalować pakiet IronOCR NuGet, utworzyć instancję IronTesseract, załadować obraz do OcrInput i wywołać metodę Read. Zwracany obiekt OcrResult zawiera wyodrębniony tekst oraz dane dotyczące położenia poszczególnych słów.
Jakie formaty obrazów obsługuje IronOCR?
IronOCR obsługuje formaty obrazów PNG, JPEG, BMP, GIF, TIFF i WebP. Dzięki temu można pracować z większością popularnych typów obrazów bez konieczności konwertowania plików przed przetwarzaniem.
Czy IronOCR obsługuje wielostronicowe pliki TIFF?
Tak, IronOCR obsługuje wielostronicowe pliki TIFF. Użyj LoadImageFrames z tablicą indeksów stron, aby przetworzyć określone ramki, a następnie iteruj result.Pages, aby uzyskać dostęp do tekstu na poszczególnych stronach.
Czy za pomocą IronOCR można wyodrębnić tekst z określonego obszaru obrazu?
Tak, należy przekazać CropRectangle do LoadImage, aby ograniczyć OCR do określonego obszaru. Znacznie skraca to czas przetwarzania i jest przydatne przy wyodrębnianiu konkretnych pól z formularzy, faktur i dokumentów tożsamości.
Czy IronOCR obsługuje różne języki do ekstrakcji tekstu?
IronOCR obsługuje ponad 125 języków, z których każdy jest dostępny jako oddzielny pakiet NuGet. Ustaw właściwość Language w IronTesseract i wywołaj AddSecondaryLanguage dla dokumentów dwujęzycznych.
Jakie są zalety IronOCR w porównaniu z podstawową wersją Tesseract.NET?
IronOCR dodaje do silnika Tesseract pakiet zgodny z idiomami .NET, automatyczne zarządzanie modelami językowymi, wbudowane filtry przetwarzania wstępnego obrazów, możliwość wyszukiwania w plikach PDF oraz eksport hOCR — wszystko to dostępne za pośrednictwem jednego pakietu NuGet bez konieczności ręcznego zarządzania natywnymi plikami binarnymi.
W jaki sposób IronOCR poprawia dokładność rozpoznawania tekstu?
IronOCR udostępnia filtry przetwarzania wstępnego — Deskew, DeNoise, Sharpen, Binarize, Scale i Rotate — które korygują typowe wady skanowania przed przetworzeniem obrazu przez silnik Tesseract, poprawiając dokładność rozpoznawania w przypadku materiałów źródłowych o niskiej jakości.
Czy IronOCR potrafi odczytywać kody kreskowe i kody QR?
Tak, ustaw OCR.Configuration.ReadBarCodes = true, aby wykrywać kody kreskowe i kody QR obok tekstu na tym samym obrazie. Wyniki są dostępne w OcrResult.BarCodes wraz z typem formatu i zdekodowaną wartością.
Jakie są typowe zastosowania IronOCR w aplikacjach napisanych w języku C#?
IronOCR jest wykorzystywany w systemach zarządzania dokumentami, do wyodrębniania danych z faktur i paragonów, generowania plików PDF z możliwością wyszukiwania na podstawie zeskanowanych archiwów, odczytywania pól formularzy, przetwarzania etykiet wysyłkowych, digitalizacji dokumentacji medycznej oraz w narzędziach ułatwiających dostęp.



