Konfiguracja OCR dla zaawansowanego czytania

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr
  2. Skopiuj i uruchom ten fragment kodu.

    var result = new IronTesseract() { Configuration = new TesseractConfiguration { WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- " } }.Read(new OcrInput("image.png")); Console.WriteLine(result.Text);
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


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.

Rejestracja pojazdu z mieszanymi znakami do demonstracji białej listy OCR

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)
$vbLabelText   $csharpLabel

Wynik

Wynik OCR pokazujący tylko znaki z tablic rejestracyjnych znajdujące się na białej liście

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
}
$vbLabelText   $csharpLabel
  • ReadBarCodes: Po ustawieniu na true, IronOCR skanuje dokument w poszukiwaniu BarCodes oprócz tekstu. Ustaw na false, aby pominąć wykrywanie BarCode i przyspieszyć przetwarzanie, gdy nie spodziewasz się ich obecności.
  • ReadDataTables: Po ustawieniu na true Tesseract 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.

Jednowierszowa etykieta wysyłkowa dla trybu segmentacji OCR SingleLine
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
$vbLabelText   $csharpLabel

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.

Paragon termiczny do OCR Tryb segmentacji SparseText
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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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.

Wprowadzenie strony dokumentu dla wyjścia ramki ograniczającej hOCR
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
$vbLabelText   $csharpLabel

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.

Zwróć uwagę Przed kontynuowaniem upewnij się, że zainstalowano odpowiedni pakiet językowy (np. IronOcr.Languages.Japanese).

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.

Zaawansowana konfiguracja OCR Wprowadzanie tekstu w języku japońskim

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.

Ostrzeżenie Konsola może nie obsługiwać wyświetlania znaków Unicode. Przekierowanie wyniku do pliku .txt to niezawodny sposób na sprawdzenie wyników przy pracy z takimi znakami.

: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")
$vbLabelText   $csharpLabel

Wynik

Zaawansowana konfiguracja OCR – wynik w języku japońskim

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:

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

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

k
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 5,896,332 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronOcr
uruchom próbkę obserwuj, jak twój obraz staje się tekstem z możliwością wyszukiwania.