Konfiguracja OCR dla zaawansowanego czytania
IronOCR oferuje zaawansowane metody odczytu skanów, takie jak ReadPassport, ReadLicensePlate i ReadPhoto, które wykraczają poza standardowe OCR. Metody te są obsługiwane przez pakiet IronOcr.Extensions.AdvancedScan. Aby precyzyjnie dostosować sposób przetwarzania tekstu przez te metody, IronOCR udostępnia klasę TesseractConfiguration, dając programistom pełną kontrolę nad białymi i czarnymi listami znaków, wykrywaniem BarCode, odczytywaniem tabel danych i nie tylko.
W tym artykule omówiono właściwości TesseractConfiguration dostępne dla zaawansowanych użytkowników oraz praktyczne przykłady konfiguracji OCR w rzeczywistych scenariuszach.
Szybki start: Ograniczanie wyników OCR do białej listy znaków
Ustaw WhiteListCharacters na TesseractConfiguration przed wywołaniem Read. Wszelkie znaki nieznajdujące się na białej liście są po cichu usuwane z wyniku, co eliminuje szum bez konieczności dodatkowej obróbki.
-
Install IronOCR with NuGet Package Manager
PM > Install-Package IronOcr -
Skopiuj i uruchom ten fragment kodu.
var result = new IronTesseract() { Configuration = new TesseractConfiguration { WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- " } }.Read(new OcrInput("image.png")); Console.WriteLine(result.Text); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
Jak skonfigurować OCR do zaawansowanego czytania
- Zainstaluj IronOCR z NuGet
- Zainstaluj pakiet IronOcr.Extensions.AdvancedScan
- Skonfiguruj
TesseractConfigurationwłaściwości, takie jakWhiteListCharactersiReadBarCodes - Załaduj obraz wejściowy za pomocą
OcrInput - Odczytaj obraz za pomocą zaawansowanej metody, takiej jak
ReadPhoto,ReadLicensePlatelubReadPassport
Właściwości TesseractConfiguration
Klasa TesseractConfiguration udostępnia następujące właściwości do dostosowywania zachowania OCR. Są one określone w IronTesseract.Co/nfiguration.
| Właściwość | Typ | Opis |
|---|---|---|
WhiteListCharacters |
string | W wynikach OCR rozpoznane zostaną wyłącznie znaki występujące w tym ciągu znaków. Wszystkie pozostałe znaki zostaną pominięte. |
BlackListCharacters |
string | Znaki w tym ciągu są aktywnie ignorowane i usuwane z wyniku OCR. |
ReadBarCodes |
bool | Włącza lub wyłącza wykrywanie kodów kreskowych w dokumencie podczas przetwarzania OCR. |
ReadDataTables |
bool | Włącza lub wyłącza wykrywanie struktury tabeli w dokumencie przy użyciu Tesseract. |
PageSegmentationMode |
TesseractPageSegmentationMode | Określa sposób, w jaki Tesseract dzieli obraz wejściowy na segmenty. Dostępne opcje to AutoOsd, Auto, SingleBlock, SingleLine, SingleWordi inne. |
RenderSearchablePdf |
bool | Po włączeniu wynik OCR można zapisać jako plik PDF z możliwością wyszukiwania, zawierający niewidoczną warstwę tekstową. |
RenderHocr |
bool | Po włączeniu tej opcji wynik OCR zawiera dane hOCR do dalszego przetwarzania lub eksportu. |
TesseractVariables |
Dictionary<string, object> | Zapewnia bezpośredni dostęp do niskopoziomowych zmiennych konfiguracyjnych Tesseract w celu precyzyjnej kontroli. |
Słownik TesseractVariables idzie jeszcze dalej, udostępniając setki podstawowych parametrów silnika Tesseract na wypadek, gdyby właściwości wysokiego poziomu okazały się niewystarczające.
Poniższe przykłady ilustrują każdą grupę właściwości, zaczynając od białej listy znaków.
Konfiguracja białej listy znaków dla tablic rejestracyjnych
Typowym przykładem zastosowania WhiteListCharacters jest ograniczenie wyników OCR wyłącznie do znaków, które mogą pojawić się na tablicy rejestracyjnej: wielkich liter, cyfr, łączników i spacji. Eliminuje to szum i poprawia dokładność, nakazując silnikowi ignorowanie wszystkiego, co wykracza poza oczekiwany zestaw znaków.
Dane wejściowe
Poniższy wpis z rejestru pojazdów zawiera mieszankę tekstu pisanych wielkimi literami, małymi literami oraz znaków specjalnych (@, $, #, |, *), oraz znaków interpunkcyjnych.
BlackListCharacters uzupełnia białą listę poprzez aktywne wykluczanie znanych symboli zakłócających, takich jak , and*`.
:path=/static-assets/ocr/content-code-examples/how-to/ocr-configurations-for-advanced-reading.cs
using IronOcr;
// Initialize the Tesseract OCR engine
IronTesseract ocr = new IronTesseract();
ocr.Configuration = new TesseractConfiguration
{
// Whitelist only characters that appear on license plates
WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ",
// Blacklist common noise characters
BlackListCharacters = "`~@#$%&*",
};
var ocrInput = new OcrInput();
// Load the input image
ocrInput.LoadImage("advanced-input.png");
// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);
// Print the filtered text result to the console
Console.WriteLine(results.Text);
Imports IronOcr
' Initialize the Tesseract OCR engine
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
' Whitelist only characters that appear on license plates
.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ",
' Blacklist common noise characters
.BlackListCharacters = "`~@#$%&*"
}
Dim ocrInput As New OcrInput()
' Load the input image
ocrInput.LoadImage("advanced-input.png")
' Perform OCR on the input image with ReadPhoto method
Dim results = ocr.ReadPhoto(ocrInput)
' Print the filtered text result to the console
Console.WriteLine(results.Text)
Wynik
Filtrowanie na podstawie białej listy jest wyraźnie widoczne w wynikach:
- "Plate: ABC-1234" staje się "P ABC-1234". Mała litera w słowie "late:" została pominięta, natomiast numer rejestracyjny został zachowany dokładnie.
- "VIN: 1HGBH41JXMN109186" staje się "VIN 1HGBH41JXMN109186". Dwukropek został pominięty, ale wielkie litery w skrócie VIN oraz pełny numer zostały zachowane.
- "Właściciel: john.doe@email.com" staje się "O". Cały tekst pisany małymi literami oraz znaki interpunkcyjne zostały usunięte.
- "Region: CA-90210 | "Zone #5" staje się "R CA-90210 Z 5". Znak rury (
|) and hash (#) są usuwane, natomiast wielkie litery i cyfry pozostają. - "Opłata: 125,00 $ + podatek*" staje się "F 12500". Znak dolara, przecinek dziesiętny, znak Plus oraz mała litera "tax" zostały usunięte.
- "Ref: ~record_v2^final" staje się "R 2". Znaki tyldy (
~), podkreślenia, karetki (^) oraz wszystkie małe litery są usuwane.
To samo podejście WhiteListCharacters i BlackListCharacters sprawdza się w przypadku każdego typu dokumentu, nie tylko tablic rejestracyjnych. W następnej sekcji pokazano, jak rozszerzyć odczyt, aby wykrywać BARCODE-y i struktury tabel w tym samym przebiegu.
Konfiguracja odczytu BarCode i tabel danych
IronOCR potrafi wykrywać BarCodes i uporządkowane tabele w dokumentach obok tekstu. Funkcje te są kontrolowane za pomocą TesseractConfiguration:
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
// Enable barcode detection within documents
ReadBarCodes = true,
// Enable table structure detection
ReadDataTables = true,
};
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
// Enable barcode detection within documents
ReadBarCodes = true,
// Enable table structure detection
ReadDataTables = true,
};
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.ReadBarCodes = True,
.ReadDataTables = True
}
- ReadBarCodes: Po ustawieniu na
true, IronOCR skanuje dokument w poszukiwaniu BarCodes oprócz tekstu. Ustaw nafalse, aby pominąć wykrywanie BarCode i przyspieszyć przetwarzanie, gdy nie spodziewasz się ich obecności. - ReadDataTables: Po ustawieniu na
trueTesseract próbuje wykryć i zachować struktury tabel w dokumencie. Jest to przydatne w przypadku faktur, raportów i innych dokumentów tabelarycznych.
Opcje te można łączyć z WhiteListCharacters i BlackListCharacters, aby uzyskać precyzyjną kontrolę nad tym, co jest wyodrębniane ze złożonych dokumentów.
Podczas gdy filtrowanie i wykrywanie kontrolują to, co jest wyodrębniane, interpretacja układu jest odrębną kwestią. W następnej sekcji omówiono, jak dobrać odpowiedni PageSegmentationMode dla danego typu dokumentu.
Sterowanie trybem segmentacji strony
PageSegmentationMode informuje Tesseract, jak podzielić obraz wejściowy na segmenty przed rozpoznaniem. Wybranie niewłaściwego trybu dla danego układu powoduje, że silnik błędnie odczytuje lub całkowicie pomija tekst.
| Tryb | Przykład zastosowania |
|---|---|
AutoOsd |
Automatyczna analiza układu z wykrywaniem orientacji i skryptu |
Auto |
Automatyczna analiza układu bez OSD (domyślnie) |
SingleColumn |
Zakłada się, że obrazek to pojedyncza kolumna tekstu |
SingleBlock |
Zakłada się, że obraz jest pojedynczym, jednolitym blokiem tekstu |
SingleLine |
Zakłada się, że obrazek to pojedynczy wiersz tekstu |
SparseText |
Znajduje jak najwięcej tekstu w dowolnej kolejności |
W przypadku etykiety lub banera zawierającego jedną linię, SingleLine eliminuje analizę wieloblokową i poprawia zarówno szybkość, jak i dokładność.
Dane wejściowe
single-line-label.png to wąska etykieta wysyłkowa zawierająca dokładnie jedną linię tekstu napisana pogrubioną czcionką Courier: SHIPPING LABEL: TRK-2024-XR9-001.
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleLine,
};
using OcrInput input = new OcrInput();
input.LoadImage("single-line-label.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SingleLine,
};
using OcrInput input = new OcrInput();
input.LoadImage("single-line-label.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.PageSegmentationMode = TesseractPageSegmentationMode.SingleLine
}
Using input As New OcrInput()
input.LoadImage("single-line-label.png")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
W przypadku zeskanowanej strony z nieregularnym rozmieszczeniem tekstu SparseText odzyskuje więcej treści niż Auto.
Dane wejściowe
receipt-scan.png to paragon termiczny ze sklepu Corner Market zawierający cztery pozycje (kawa, babeczka, sok, batonik musli), separator w postaci linii przerywanej, sumę częściową, podatek i sumę całkowitą. Jest to rodzaj układu, w którym segmentacja stałoblokowa pomija wpisy znajdujące się w różnych pozycjach poziomych.
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SparseText,
};
using OcrInput input = new OcrInput();
input.LoadImage("receipt-scan.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
PageSegmentationMode = TesseractPageSegmentationMode.SparseText,
};
using OcrInput input = new OcrInput();
input.LoadImage("receipt-scan.png");
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.PageSegmentationMode = TesseractPageSegmentationMode.SparseText
}
Using input As New OcrInput()
input.LoadImage("receipt-scan.png")
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Po dostosowaniu segmentacji układu do typu dokumentu, kolejnym krokiem jest kontrolowanie formatu wyjściowego na potrzeby dalszego przetwarzania.
Generowanie plików PDF z możliwością wyszukiwania i danych hOCR
RenderSearchablePdf i RenderHocr kontrolują formaty wyjściowe generowane przez IronOCR wraz z wynikiem w postaci zwykłego tekstu.
RenderSearchablePdf umieszcza niewidoczną warstwę tekstową na oryginalnym obrazie, tworząc plik PDF, w którym użytkownicy mogą wyszukiwać i kopiować tekst, podczas gdy zeskanowany obraz pozostaje widoczny. Jest to standardowy format wyjściowy dla procesów archiwizacji dokumentów.
Dane wejściowe
scanned-document.pdf to jednostronicowy list biznesowy od IronOCR Solutions Ltd. (z dnia 15 marca 2024 r., nr referencyjny DOC-2024-OCR-0315). Wynik jest zapisywany jako searchable-output.pdf.
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
RenderSearchablePdf = true,
};
using OcrInput input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
RenderSearchablePdf = true,
};
using OcrInput input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Imports IronTesseract
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.RenderSearchablePdf = True
}
Using input As New OcrInput()
input.LoadPdf("scanned-document.pdf")
Dim result As OcrResult = ocr.Read(input)
result.SaveAsSearchablePdf("searchable-output.pdf")
End Using
Wynik
Wynikiem jest plik PDF, który wygląda identycznie jak plik źródłowy, ale zawiera ukrytą warstwę tekstową. Otwórz searchable-output.pdf i użyj skrótu Ctrl+F, aby sprawdzić, czy osadzony tekst można wyszukiwać i kopiować.
RenderHocr generuje dokument hOCR, plik HTML, który koduje treść tekstową wraz ze współrzędnymi ramki ograniczającej dla każdego słowa. Jest to przydatne, gdy narzędzia niższego szczebla wymagają precyzyjnego pozycjonowania słów, na przykład silniki redakcyjne lub narzędzia do analizy układu dokumentu.
Dane wejściowe
document-page.png to strona dokumentu z nagłówkiem "Podsumowanie kwartalne Q1 2024" oraz dwoma akapitami danych finansowych dotyczących przychodów, kosztów operacyjnych i czynników wzrostu. Wynik jest zapisywany jako output.html.
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
RenderHocr = true,
};
using OcrInput input = new OcrInput();
input.LoadImage("document-page.png");
OcrResult result = ocr.Read(input);
result.SaveAsHocrFile("output.html");
IronTesseract ocr = new IronTesseract();
ocr.Co/nfiguration = new TesseractConfiguration
{
RenderHocr = true,
};
using OcrInput input = new OcrInput();
input.LoadImage("document-page.png");
OcrResult result = ocr.Read(input);
result.SaveAsHocrFile("output.html");
Imports IronTesseract
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.RenderHocr = True
}
Using input As New OcrInput()
input.LoadImage("document-page.png")
Dim result As OcrResult = ocr.Read(input)
result.SaveAsHocrFile("output.html")
End Using
Wynik
output.html koduje każde rozpoznane słowo za pomocą współrzędnych jego prostokąta ograniczającego. Otwórz plik w przeglądarce, aby sprawdzić strukturę hOCR, lub przekaż go do kolejnego narzędzia w celu analizy układu lub redakcji.
Oba flagi można włączyć jednocześnie, jeśli potrzebujesz wszystkich trzech formatów wyjściowych (zwykły tekst, PDF z możliwością wyszukiwania i hOCR) z jednego wywołania odczytu.
Te flagi wyjściowe działają niezależnie od odczytywanego języka, w tym w przypadku alfabetów innych niż łaciński. W następnej sekcji pokazano, jak zastosować filtrowanie znaków do tekstu w języku japońskim.
Filtrowanie znaków Unicode w dokumentach międzynarodowych
W przypadku dokumentów międzynarodowych w języku chińskim, japońskim lub koreańskim właściwości WhiteListCharacters i BlackListCharacters obsługują znaki Unicode. Pozwala to ograniczyć wynik do określonych skryptów, np. tylko hiragana i katakana w przypadku języka japońskiego.
Dane wejściowe
Dokument zawiera tytuł (テスト), zdanie w języku japońskim łączące hiraganę i katakanę z wariantami znaków dźwięcznych (プ, で), wiersz z ceną zawierający symbole zakazane (★, ■) oraz kanji (価格), a także wiersz z notatką zawierający kolejny symbol z czarnej listy (§), więcej kanji (購入), dodatkowe warianty znaków dźwięcznych (プ, デ) oraz podstawowe katakana (メモ, ール). Biała lista dopuszcza jedynie podstawowe znaki hiragana, podstawowe znaki katakana, cyfry oraz popularną japońską interpunkcję; Trzy symbole hałasu są wyraźnie umieszczone na czarnej liście.
Zakresy znaków Unicode dla hiragana i katakana są przekazywane jako literały łańcuchowe w WhiteListCharacters, a symbole zakłóceń są wymienione w BlackListCharacters.
:path=/static-assets/ocr/content-code-examples/how-to/ocr-configurations-for-advanced-reading-jp.cs
using IronOcr;
using System.IO;
IronTesseract ocr = new IronTesseract();
ocr.Configuration = new TesseractConfiguration
{
// Whitelist only Hiragana, Katakana, numbers, and common Japanese punctuation
WhiteListCharacters = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" +
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン" +
"0123456789、。?!()¥ー",
// Blacklist common noise/symbols you want to ignore
BlackListCharacters = "★■§",
};
var ocrInput = new OcrInput();
// Load Japanese input image
ocrInput.LoadImage("jp.png");
// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);
// Write the text result directly to a file named "output.txt"
File.WriteAllText("output.txt", results.Text);
// You can add this line to confirm the file was saved:
Console.WriteLine("OCR results saved to output.txt");
Imports IronOcr
Imports System.IO
Dim ocr As New IronTesseract()
ocr.Configuration = New TesseractConfiguration With {
.WhiteListCharacters = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" &
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン" &
"0123456789、。?!()¥ー",
.BlackListCharacters = "★■§"
}
Dim ocrInput As New OcrInput()
' Load Japanese input image
ocrInput.LoadImage("jp.png")
' Perform OCR on the input image with ReadPhoto method
Dim results = ocr.ReadPhoto(ocrInput)
' Write the text result directly to a file named "output.txt"
File.WriteAllText("output.txt", results.Text)
' You can add this line to confirm the file was saved:
Console.WriteLine("OCR results saved to output.txt")
Wynik
Pełny, przefiltrowany wynik jest dostępny w postaci pliku tekstowego: jp-output.txt.
Ponieważ biała lista zawiera tylko podstawowe znaki hiragana i katakana, pominięto pochodne warianty znaków z oznaczeniem dźwięczności, takie jak プ (pu) i デ (de). Znaki kanji, takie jak 価格 (cena) i 購入 (zakup), są również wykluczone, ponieważ nie znajdują się w zestawie znaków z białej listy. Symbole z czarnej listy, takie jak ★, ■ i §, są aktywnie usuwane niezależnie od białej listy.
Co dalej?
Teraz, gdy już wiesz, jak skonfigurować IronOCR do zaawansowanych scenariuszy odczytu, zapoznaj się z:
- Odczytywanie określonych typów dokumentów, takich jak paszporty i tablice rejestracyjne
- Odczytywanie kodów kreskowych i kodów QR jako samodzielny przypadek użycia OCR
- Eksportowanie plików hOCR i plików PDF z możliwością wyszukiwania z przetworzonych wyników
W przypadku wykorzystania w środowisku produkcyjnym należy pamiętać o uzyskaniu licencji w celu usunięcia znaków wodnych i uzyskania dostępu do pełnej funkcjonalności.
Często Zadawane Pytania
Co to jest TesseractConfiguration w IronOCR?
TesseractConfiguration w IronOCR pozwala użytkownikom dostosować ustawienia OCR, umożliwiając zaawansowane możliwości czytania, takie jak listy dozwolonych znaków, odczyt kodów kreskowych i obsługa wielojęzyczna.
Jak mogę ustawić listę dozwolonych znaków w IronOCR?
W IronOCR można ustawić listę dozwolonych znaków za pomocą TesseractConfiguration, co pozwala określić, które znaki mają być rozpoznawane przez silnik OCR, co jest przydatne w zadaniach takich jak odczyt tablic rejestracyjnych.
Czy IronOCR może odczytywać kody kreskowe i tabele danych?
Tak, IronOCR można skonfigurować do odczytywania kodów kreskowych i tabel danych poprzez dostosowanie specyficznych ustawień we właściwościach TesseractConfiguration dla precyzyjnej ekstrakcji danych przez OCR.
Czy IronOCR obsługuje języki międzynarodowe, takie jak chiński, japoński i koreański?
IronOCR obsługuje języki międzynarodowe, w tym chiński, japoński i koreański, poprzez opcje wielojęzyczne TesseractConfiguration.
Jakie są zalety korzystania z zaawansowanych konfiguracji OCR w IronOCR?
Korzystanie z zaawansowanych konfiguracji OCR w IronOCR umożliwia dokładniejsze i wydajniejsze rozpoznawanie tekstu, wspierając zadania specjalistyczne, takie jak rozpoznawanie tekstu specyficznego dla języka i ekstrakcja danych strukturalnych.
Czy można zoptymalizować IronOCR do specyficznych zadań OCR?
Tak, IronOCR można zoptymalizować do specyficznych zadań OCR, konfigurowając ustawienia takie jak listy dozwolonych znaków i włączając odczyt kodów kreskowych lub tabel, co poprawia wydajność dla wybranych zastosowań.
Jak włączyć obsługę wielojęzyczności w IronOCR?
Aby włączyć obsługę wielojęzyczności w IronOCR, można dostosować ustawienia języka w TesseractConfiguration, co pozwala silnikowi OCR rozpoznawać tekst w wielu językach.
Co to są listy dozwolonych znaków i jak są używane w IronOCR?
Listy dozwolonych znaków w IronOCR to listy konkretnych znaków, które są skonfigurowane do rozpoznawania przez silnik OCR, idealne dla zadań skupionych, takich jak odczyt cyfr czy określonych wzorów tekstu.
Czy IronOCR może być używany do odczytu formatów danych strukturalnych?
Tak, IronOCR można skonfigurować do odczytu i przetwarzania formatów danych strukturalnych, takich jak kody kreskowe i tabele, oferując wszechstronne zdolności OCR dla różnych potrzeb ekstrakcji danych.
Jakie konfiguracje są dostępne w IronOCR dla zaawansowanego rozpoznawania tekstu?
IronOCR oferuje konfiguracje takie jak listy dozwolonych znaków, obsługa wielojęzyczna i rozpoznawanie kodów kreskowych, aby zwiększyć funkcje zaawansowanego rozpoznawania tekstu dostosowane do specyficznych wymagań.

