Wie man bestimmte Dokumente mit OCR in C# liest

How to Read Specialized Documents

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

Das genaue Lesen spezifischer Dokumente wie Standardtextdokumente, Nummernschilder, Pässe und Fotos mit einer allgemeinen einheitlichen Methode ist sehr schwierig. Diese Herausforderungen ergeben sich aus den unterschiedlichen Formaten, Layouts und Inhalten der einzelnen Dokumenttypen sowie aus Variationen in der Bildqualität, Verzerrung und spezialisierten Inhalten. Darüber hinaus wird es komplexer, ein kontextuelles Verständnis zu erreichen und Leistung und Effizienz im Rahmen eines breiteren Spektrums von Dokumenttypen in Einklang zu bringen.

IronOCR führt spezifische Methoden ein, um OCR an besonderen Dokumenten wie Standardtextdokumenten, Nummernschildern, Pässen und Fotos durchzuführen, um optimale Genauigkeit und Leistung zu erzielen.

als-Überschrift:2(Schnellstart: Einen Pass in einer Zeile lesen)

Verwenden Sie die IronOCR ReadPassport-Erweiterung, um alle wichtigen Passdetails mit minimalem Aufwand zu extrahieren. Mit nur einer Codezeile – vorausgesetzt, Sie haben IronOCR und AdvancedScan installiert – erhalten Sie strukturierte Ergebnisdaten wie Namen, Passnummer, Land und mehr, schnell und mühelos.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    var result = new IronTesseract().ReadPassport(new OcrInput().LoadImage("passport.jpg"));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Arbeitsablauf (5 Schritte)

  1. Laden Sie eine C#-Bibliothek herunter, um Nummernschilder, Pässe und Fotos zu lesen
  2. Bereiten Sie das Bild und das PDF-Dokument für OCR vor
  3. Setzen Sie die ReadLicensePlate-Methode, um ein Nummernschild zu lesen
  4. Setzen Sie die ReadPassport-Methode, um Informationen aus einem Pass abzurufen
  5. Nutzen Sie die ReadPhoto- und ReadScreenShot-Methoden, um Bilder zu lesen, die schwer lesbaren Text enthalten


Über das Paket

Die Methoden ReadLicensePlate, ReadPassport, ReadPhoto und ReadScreenShot sind Erweiterungsmethoden des grundlegenden IronOCR-Pakets und erfordern die Installation des IronOcr.Extensions.AdvancedScan-Pakets.

Die Methoden arbeiten mit OCR-Engine-Konfigurationen wie Blacklist und Whitelist. Mehrere Sprachen, einschließlich Chinesisch, Japanisch, Koreanisch und Lateinisches Alphabet, werden in allen Methoden unterstützt, außer in der ReadPassport-Methode. Bitte beachten Sie, dass jede Sprache ein zusätzliches Sprachpaket erfordert, IronOcr.Languages.

Die erweiterte Abtastung auf dem .NET Framework erfordert, dass das Projekt auf der x64-Architektur ausgeführt wird. Navigieren Sie zur Projektkonfiguration und deaktivieren Sie die Option "Bevorzugt 32-Bit", um dies zu erreichen. Erfahren Sie mehr im folgenden Leitfaden zur Fehlersuche: "Erweiterte Abtastung auf dem .NET Framework".

Dokumentbeispiel lesen

Die ReadDocument-Methode ist eine robuste Dokumentlesemethode, die sich auf gescannte Dokumente oder Fotos von Papierdokumenten mit viel Text spezialisiert. Die Konfiguration PageSegmentationMode ist sehr wichtig beim Lesen von Textdokumenten mit unterschiedlichen Layouts.

Zum Beispiel könnten die Typen SingleBlock und SparseText viel Informationen aus einem Tabellenlayout abrufen. Dies liegt daran, dass SingleBlock davon ausgeht, dass der Text als Block bleibt, während SparseText davon ausgeht, dass der Text im gesamten Dokument verstreut ist.

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

Die unten aufgeführten Methoden sind Erweiterungsmethoden des grundlegenden IronOCR-Pakets und erfordern die Installation des IronOcr.Extensions.AdvancedScan-Pakets.

Nummernschild-Beispiel

Die ReadLicensePlate-Methode ist für das Lesen von Nummernschildern aus Fotos optimiert. Die speziellen Informationen, die von dieser Methode zurückgegeben werden, sind die Licenseplate-Eigenschaft, die Informationen über den Standort des Nummernschildes im bereitgestellten Dokument enthält.

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

Passexempel lesen

Die ReadPassport-Methode ist für das Lesen und Extrahieren von Passinformationen aus Passfotos optimiert, indem die Inhalte der maschinenlesbare Zone (MRZ) gescannt werden. Eine MRZ ist eine speziell definierte Zone in offiziellen Dokumenten wie Pässen, Personalausweisen und Visa. Die MRZ enthält typischerweise wesentliche persönliche Informationen, wie den Namen des Inhabers, das Geburtsdatum, die Nationalität und die Dokumentennummer. Derzeit unterstützt diese Methode nur die englische Sprache.

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

Ergebnis

class="content-img-align-center">
class="center-image-wrapper"> Pass lesen

Bitte stellen Sie sicher, dass das Dokument nur das Passbild enthält. Jeglicher Kopf- und Fußzeilentext könnte die Methode verwirren und ein unerwartetes Ergebnis hervorrufen.

Foto-Beispiel lesen

Die ReadPhoto-Methode ist für das Lesen von Bildern optimiert, die schwer lesbaren Text enthalten. Diese Methode gibt die TextRegions-Eigenschaft zurück, die nützliche Informationen über den erkannten Text enthält, wie Region, TextInRegion und 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
$vbLabelText   $csharpLabel

Screenshot-Beispiel lesen

Die ReadScreenShot-Methode ist für das Lesen von Screenshots optimiert, die schwer lesbaren Text enthalten. Ähnlich wie bei der ReadPhoto-Methode gibt es auch die TextRegions-Eigenschaft zurück.

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

Häufig gestellte Fragen

Wie kann ich Nummernschilder mit OCR in C# lesen?

Sie können die Methode ReadLicensePlate von IronOCR verwenden, um Nummernschilder auf Fotos genau zu lesen. Diese Methode gibt den Text des Nummernschilds und dessen Standortdetails zurück.

Was ist der beste Weg, um Informationen aus Passfotos zu extrahieren?

Die Methode ReadPassport von IronOCR ist dazu entwickelt, die maschinenlesbare Zone (MRZ) in Passfotos zu scannen und wesentliche Informationen wie Name, Geburtsdatum und Dokumentnummer zu extrahieren.

Kann IronOCR Text aus Fotos mit schwer lesbarem Text lesen?

Ja, die Methode ReadPhoto in IronOCR ist optimiert, um Bilder mit schwer lesbarem Text zu lesen und detaillierte Daten über den erkannten Text und dessen Regionen zu liefern.

Ist es möglich, IronOCR zu verwenden, um Text von Screenshots zu lesen?

Absolut, die Methode ReadScreenShot von IronOCR ist speziell für die Verarbeitung von Text in Screenshots optimiert und liefert detaillierte Informationen zu den Textregionen.

Wie kann ich die OCR-Genauigkeit für Dokumente mit komplexen Layouts verbessern?

Um die OCR-Genauigkeit für komplexe Dokumentenlayouts zu verbessern, konfigurieren Sie den PageSegmentationMode in IronOCR. Optionen wie SingleBlock und SparseText sind besonders nützlich, um Informationen aus Tabellenlayouts zu extrahieren.

Was soll ich tun, wenn die erweiterten Scan-Funktionen von IronOCR in meinem .NET Framework-Projekt nicht funktionieren?

Stellen Sie sicher, dass Ihr Projekt für die Ausführung auf x64-Architektur eingestellt ist, indem Sie die Option 'Bevorzuge 32-Bit' in Ihren Projekteinstellungen deaktivieren, um Probleme mit erweiterten Scan-Funktionen in IronOCR auf .NET Framework zu beheben.

Gibt es Sprachunterstützungseinschränkungen in IronOCR?

IronOCR unterstützt mehrere Sprachen, darunter Chinesisch, Japanisch, Koreanisch und Lateinisches Alphabet. Die Methode ReadPassport unterstützt jedoch derzeit nur Dokumente in Englisch.

Was benötige ich, um erweiterte Scan-Funktionen in IronOCR zu verwenden?

Um erweiterte Scan-Funktionen in IronOCR zu verwenden, wird das Paket IronOcr.Extensions.AdvancedScan benötigt, das exklusiv auf Windows verfügbar ist.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 5,044,537 | Version: 2025.11 gerade veröffentlicht