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.
Bezpłatna próba 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 swoim katalogu projektu i uruchom polecenie .NET CLI, lub użyj Konsoli Managera Pakietów wewnątrz Visual Studio:
Install-Package IronOcr
Po instalacji menedżer pakietów NuGet pobiera wszystkie wymagane 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 przeplyw OCR obejmuje trzy obiekty: IronTesseract (silnik), OcrInput (kontener wejsciowy) oraz OcrResult (wyjscie). Poniższy przykład odczytuje PNG i drukuje rozpoznany tekst do 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 obejmuje silnik Tesseract 5 z przyjaznymi dla .NET ustawieniami domyslnymi i automatycznym zarzadzaniem modelami. OcrInput.LoadImage akceptuje pliki PNG, JPEG, BMP, GIF, TIFF oraz WebP, wiec rzadko trzeba konwertowac format przed przekazaniem obrazu do silnika.
Wlasciwosc OcrResult.Text zwraca zwykly lancuch tekstowy zawierajacy wszystkie rozpoznane znaki polaczone za pomoca nowych linii. Aby uzyskac bogatszy dostep -- ramki graniczne slow, wspolczynniki pewnosci, tekst wedlug akapitow -- nawiguj po kolekcjach result.Pages, result.Paragraphs, result.Words i result.Characters.
Kluczowe właściwości, o których warto wiedzieć:
result.Pages[0].Text-- tekst z pojedynczej stronyresult.Words[n].Textiresult.Words[n].Confidence-- dokladnosc na poziomie slowa (0,0 -- 1,0)result.Pages[0].Paragraphs-- segmentacja akapitow dla uporzadkowanego wyciagania
Mozesz rowniez wywolac ocr.ReadAsync(input), aby utrzymac wolny watek interfejsu uzytkownika w aplikacjach desktopowych lub webowych.
Jak przetwarzasz zeskanowane dokumenty i pliki TIFF?
Wielostronicowe pliki TIFF są powszechne w procesach skanowania dokumentów. IronOCR obsluguje je za pomoca LoadImageFrames, co pozwala dokladnie wybrac, ktore ramki (strony) przetworzyc -- przydatne, gdy potrzebujesz tylko wycinka duzego 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 skorygowac nachylenie wprowadzone przez plaskie skanery. DeNoise usuwa plamki i artefakty JPEG, ktore myla silnik Tesseract. Razem te dwa filtry wstepne znaczaco poprawiaja dokladnosc rozpoznania na skanach niskiej jakosci.
Dostepne dodatkowe filtry OcrInput dla trudnych materialow zrodlowych:
input.Sharpen()-- zwieksza kontrast krawedzi dla zamazanych obrazowinput.Binarize()-- konwertuje na czarno-biale dla dokumentow o jakosci faksuinput.Scale(200)-- powieksza male obrazy dla lepszego rozdzielania znakowinput.Rotate(90)-- koryguje obrotowe orientacje dokumentow
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 przetwarzac dokumenty w innych jezykach, zainstaluj pasujaca paczke jezykowa NuGet i ustaw wlasciwosc Language na instancji IronTesseract.
dotnet add package IronOcr.Languages.German, IronOcr.Languages.French, 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 laczy podstawowy i dodatkowy model jezykowy podczas rozpoznawania, gdy wywolasz 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 wybierac uklday jedno- lub wielokolumnowe oraz jednokrokoweocr.Configuration.ReadBarCodes = false-- wylacza wykrywanie kodow kreskowych jesli przetwarzasz dokumenty skladajace sie tylko z tekstu i chcesz szybszego przetwarzaniaocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5-- zapewnia uzycie najszybszego dostepnego 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 Stworzyć Przeszukiwalne PDF z 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 zapisuje plik kompatybilny z PDF/A, w ktorym kazde rozpoznane slowo jest umieszczane na dokladnych wspolrzednych pikseli oryginalnego obrazu. Programy Adobe Acrobat, Preview w systemie macOS oraz Foxit Reader obsługują wyszukiwanie pełnotekstowe w tych plikach natychmiast po ich wygenerowaniu.
Dla przegladarek dokumentow webowych lub dolnych potokow NLP, uzyj result.SaveAsHocrFile("output.hocr") zamiast tego. 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.
Dostepne dodatkowe formaty wyjscia od OcrResult:
result.SaveAsHocrFile("output.hocr")-- hOCR XML z danymi pozycyjnymiresult.ToXDocument()-- LINQ-queryable XDocument do przetwarzania programistycznegoresult.Pages[0].Text-- zwykly tekst na strone dla przeplywow streamingowych
Dla aplikacji, ktore juz pracuja z IronPDF mozesz podlaczyc OcrResult bezposrednio do przeplywow generacji PDF, laczac ekstrakcje OCR z edycja 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 Rozpoznawanie obrazu Azure. Tabela poniżej podsumowuje kluczowe różnice:
| Kryteria | IronOCR | Tesseract.NET | Rozpoznawanie obrazu Azure |
|---|---|---|---|
| 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. Rozpoznawanie obrazu Azure 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.
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, Scałe 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.



