How to Read Specialized Documents with C# and IronOCR
Dokładne odczytanie specyficznych dokumentów takich jak standardowe dokumenty tekstowe, tablice rejestracyjne, paszporty i zdjęcia za pomocą jednej ogólnej metody jest bardzo trudne. Wyzwania te wynikają z różnorodnych formatów, układów i treści każdego typu dokumentu, a także z wariacji w jakości obrazu, zniekształceniach i specjalistycznych treściach. Dodatkowo, osiągnięcie kontekstualnego zrozumienia i zbalansowanie wydajności i efektywności staje się bardziej złożone przy szerszym zakresie typów dokumentów.
IronOCR wprowadza specyficzne metody wykonywania OCR na konkretnych dokumentach takich jak standardowe dokumenty tekstowe, tablice rejestracyjne, paszporty i zdjęcia, aby osiągnąć optymalną dokładność i wydajność.
Szybki start: przeczytaj paszport jednym wierszem
Użyj rozszerzenia ReadPassport IronOCR, aby wyodrębnić wszystkie kluczowe dane paszportowe przy minimalnej konfiguracji. Przy użyciu zaledwie jednego wiersza kodu — o ile masz zainstalowany IronOCR i AdvancedScan — otrzymasz uporządkowane dane wynikowe, takie jak imiona, numer paszportu, kraj i inne, szybko i bez wysiłku.
-
Install IronOCR with NuGet Package Manager
-
Skopiuj i uruchom ten fragment kodu.
var result = new IronTesseract().ReadPassport(new OcrInput().LoadImage("passport.jpg")); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C# do odczytu tablic rejestracyjnych, paszportów i zdjęć
- Przygotuj obraz i dokument PDF do OCR
- Ustaw metodę
ReadLicensePlate, aby odczytać tablicę rejestracyjną - Ustaw metodę
ReadPassport, aby pobrać informacje z paszportu - Leverage the
ReadPhotoand `ReadScreenShot` methods to read images that contain hard-to-read text
O pakiecie
Metody ReadLicensePlate, ReadPassport, ReadPhoto oraz ReadScreenShot są metodami rozszerzenia dla podstawowego pakietu IronOCR i wymagają zainstalowania pakietu IronOcr.Extensions.AdvancedScan.
Metody działają z konfiguracjami silnika OCR, takimi jak czarne i białe listy. Obsługiwane są wiele języków, w tym chiński, japoński, koreański i alfabet łaciński, we wszystkich metodach za wyjątkiem ReadPassport. Należy pamiętać, że każdy język wymaga dodatkowego pakietu językowego, IronOcr.Languages.
Korzystanie z zaawansowanego skanowania w środowisku .NET Framework wymaga, aby projekt działał na architekturze x64. Aby to osiągnąć, przejdź do konfiguracji projektu i odznacz opcję "Preferuj 32-bit". Dowiedz się więcej w poniższym przewodniku rozwiązywania problemów: "Zaawansowane skanowanie w .NET Framework."
Przykład odczytu dokumentu
Metoda ReadDocument to solidna metoda czytania dokumentów, która specjalizuje się w skanowanych dokumentach lub zdjęciach dokumentów papierowych zawierających dużo tekstu. Konfiguracja PageSegmentationMode jest bardzo ważna w odczytywaniu dokumentów tekstowych o różnych układach.
Na przykład typy SingleBlock i SparseText mogą pobierać wiele informacji z układu tabeli. Dzieje się tak, ponieważ SingleBlock zakłada, że tekst pozostaje jako blok, podczas gdy SparseText zakłada, że tekst jest rozproszony po całym dokumencie.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-document.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
// Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
using var input = new OcrInput();
input.LoadPdf("Five.pdf");
// Perform OCR
OcrResult result = ocr.ReadDocument(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
' Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock
Dim input = New OcrInput()
input.LoadPdf("Five.pdf")
' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)
Console.WriteLine(result.Text)
Poniższe metody są metodami rozszerzającymi podstawowy pakiet IronOCR i wymagają zainstalowania pakietu IronOcr.Extensions.AdvancedScan.
Przykład odczytu tablic rejestracyjnych
Metoda ReadLicensePlate jest zoptymalizowana do odczytywania tablic rejestracyjnych ze zdjęć. Specjalne informacje zwracane przez tę metodę to właściwość Licenseplate, która zawiera informacje o lokalizacji tablicy rejestracyjnej w dostarczonym dokumencie.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-license-plate.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("LicensePlate.jpeg");
// Perform OCR
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);
// Retrieve license plate coordinates
Rectangle rectangle = result.Licenseplate;
// Retrieve license plate value
string output = result.Text;
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("LicensePlate.jpeg")
' Perform OCR
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)
' Retrieve license plate coordinates
Dim rectangle As Rectangle = result.Licenseplate
' Retrieve license plate value
Dim output As String = result.Text
Przykład odczytu paszportu
Metoda ReadPassport jest zoptymalizowana do odczytywania i wyodrębnia informacji z paszportów poprzez skanowanie treści strefy maszynowo czytelnej (MRZ). MRZ to specjalnie zdefiniowana strefa w oficjalnych dokumentach, takich jak paszporty, karty identyfikacyjne i wizy. MRZ zwykle zawiera niezbędne osobiste informacje, takie jak imię posiadacza, data urodzenia, narodowość i numer dokumentu. Obecnie ta metoda obsługuje tylko język angielski.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-passport.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output passport information
Console.WriteLine(result.PassportInfo.GivenNames)
Console.WriteLine(result.PassportInfo.Country)
Console.WriteLine(result.PassportInfo.PassportNumber)
Console.WriteLine(result.PassportInfo.Surname)
Console.WriteLine(result.PassportInfo.DateOfBirth)
Console.WriteLine(result.PassportInfo.DateOfExpiry)
Wynik
Proszę upewnić się, że dokument zawiera tylko obraz paszportu. Każdy tekst na nagłówku i stopce może dezorientować metodę i skutkować nieoczekiwanym wynikiem.
Przykład odczytu zdjęcia
Metoda ReadPhoto jest zoptymalizowana do odczytywania obrazów zawierających trudny do odczytania tekst. Metoda ta zwraca właściwość TextRegions, która zawiera przydatne informacje o wykrytym tekście, takie jak Region, TextInRegion i FrameNumber.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-photo.cs
using IronOcr;
using IronSoftware.Drawing;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("photo.tif", 2);
// Perform OCR
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);
// index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;
string textinregion = result.TextRegions[0].TextInRegion;
Rectangle region = result.TextRegions[0].Region;
Imports IronOcr
Imports IronSoftware.Drawing
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("photo.tif", 2)
' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)
' index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber
Dim textinregion As String = result.TextRegions(0).TextInRegion
Dim region As Rectangle = result.TextRegions(0).Region
Przykład odczytu zrzutów ekranowych
Metoda ReadScreenShot jest zoptymalizowana do odczytywania zrzutów ekranu zawierających trudny do odczytania tekst. Podobnie jak metoda ReadPhoto, zwraca również właściwość TextRegions.
:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-screenshot.cs
}
using IronOcr;
using System;
using System.Linq;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputScreenshot = new OcrInput();
inputScreenshot.LoadImage("screenshot.png");
// Perform OCR
OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot);
// Output screenshoot information
Console.WriteLine(result.Text);
Console.WriteLine(result.TextRegions.First().Region.X);
Console.WriteLine(result.TextRegions.Last().Region.Width);
Console.WriteLine(result.Confidence);
}
Imports IronOcr
Imports System
Imports System.Linq
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputScreenshot = New OcrInput()
inputScreenshot.LoadImage("screenshot.png")
' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadScreenShot(inputScreenshot)
' Output screenshoot information
Console.WriteLine(result.Text)
Console.WriteLine(result.TextRegions.First().Region.X)
Console.WriteLine(result.TextRegions.Last().Region.Width)
Console.WriteLine(result.Confidence)
}
Często Zadawane Pytania
Jak mogę czytać tablice rejestracyjne za pomocą OCR w C#?
Możesz użyć metody ReadLicensePlate dostarczanej przez IronOCR, aby dokładnie czytać tablice rejestracyjne z zdjęć. Ta metoda zwraca tekst tablicy rejestracyjnej i szczegóły jej lokalizacji.
Jaki jest najlepszy sposób na wyodrębnienie informacji z zdjęć paszportów?
Metoda ReadPassport IronOCR jest zaprojektowana do skanowania strefy maszynowo czytelnej (MRZ) w zdjęciach paszportów, wyodrębniając podstawowe informacje, takie jak imię i nazwisko, data urodzenia, i numer dokumentu.
Czy IronOCR potrafi czytać tekst ze zdjęć z trudnym tekstem?
Tak, metoda ReadPhoto w IronOCR jest zoptymalizowana do czytania obrazów z trudnymi do odczytania tekstami, dostarczając szczegółowe dane o wykrytym tekście i jego regionach.
Czy można użyć IronOCR do czytania tekstu z zrzutów ekranu?
Zdecydowanie, metoda ReadScreenShot IronOCR jest specjalnie zoptymalizowana do przetwarzania tekstu w zrzutach ekranu i dostarcza szczegółowych informacji na temat regionu tekstowego.
Jak mogę poprawić dokładność OCR dla dokumentów o złożonych układach?
Aby zwiększyć dokładność OCR dla złożonych układów dokumentów, skonfiguruj PageSegmentationMode w IronOCR. Opcje takie jak SingleBlock i SparseText są szczególnie przydatne do wyodrębniania informacji z układów tabel.
Co zrobić, jeśli zaawansowane funkcje skanowania IronOCR nie działają w moim projekcie .NET Framework?
Upewnij się, że twój projekt jest ustawiony do działania na architekturze x64 przez odznaczenie opcji „Prefer 32-bit” w ustawieniach projektu, aby rozwiązać problemy z zaawansowanymi funkcjami skanowania w IronOCR na .NET Framework.
Czy w IronOCR istnieją jakieś ograniczenia wsparcia językowego?
IronOCR obsługuje wiele języków, w tym chiński, japoński, koreański i łaciński alfabet. Jednak metoda ReadPassport obecnie obsługuje tylko dokumenty w języku angielskim.
Czego potrzebuję do korzystania z zaawansowanych funkcji skanowania w IronOCR?
Aby korzystać z zaawansowanych funkcji skanowania w IronOCR, wymagany jest pakiet IronOcr.Extensions.AdvancedScan, dostępny wyłącznie w systemie Windows.

