Wie man Passdaten mit IronOCR extrahiert
In Anwendungen und Systemen wie der Gepäckaufgabe und der Sicherheitskontrolle an Flughäfen, bei denen Mitarbeiter täglich mit einer großen Anzahl von Pässen zu tun haben, ist ein zuverlässiges System, das wichtige und wesentliche Informationen über den Reisenden genau extrahiert, entscheidend, um einen effizienten und reibungslosen Ablauf durch die Einwanderung zu gewährleisten.
IronOCR ist ein zuverlässiges Werkzeug, das das Extrahieren und Lesen von Daten aus einem Reisepass mühelos macht. Der Prozess wird mit einem einfachen Aufruf der ReadPassport
-Methode unkompliziert.
Wie man Passdaten mit IronOCR extrahiert
- Laden Sie eine C#-Bibliothek zum Lesen von Pässen herunter
- Importieren Sie das Passbild zur Erkennung
- Stellen Sie sicher, dass das Dokument nur das Passbild ohne Kopf- oder Fußzeilen enthält.
- Verwenden Sie die
ReadPassport
-Methode, um Daten aus dem Bild zu extrahieren - Greifen Sie auf die OcrPassportResult-Eigenschaft zu, um die extrahierten Passdaten anzuzeigen und weiter zu bearbeiten
Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.
Um diese Funktion zu nutzen, müssen Sie auch das IronOcr.Extension.AdvancedScan-Paket installieren.
Beispiel zur Extraktion von Passdaten
Als Beispiel verwenden wir ein Passbild als Eingabe, um die Funktionalität von IronOCR zu demonstrieren. Nach dem Laden des Bildes mit OcrInput können Sie die Methode ReadPassport
verwenden, um Informationen aus dem Reisepass zu identifizieren und zu extrahieren. Diese Methode gibt ein OcrPassportResult-Objekt zurück, das Eigenschaften wie GivenNames, Country, PassportNumber, Surname, DateOfBirth und DateOfExpiry enthält. Alle Mitglieder des PassportInfo-Objekts sind Zeichenketten.
Bitte beachten Sie
- Die Methode funktioniert derzeit nur für englischsprachige Pässe.
-
Die Verwendung des erweiterten Scans im .NET-Framework setzt voraus, dass das Projekt auf einer x64-Architektur läuft.
Passworteingabe

Code
:path=/static-assets/ocr/content-code-examples/how-to/read-passport-read-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)
Ausgabe

Wir greifen dann auf das PassportInfo
-Datenmitglied zu, das aus dem OcrPassportResult
-Objekt erhalten wurde.
- GivenNames: Eine Eigenschaft von
PassportInfo
, die die Vornamen des Passporteingangs als Zeichenfolge zurückgibt. Dies entspricht der ersten MRZ-Datenzeile mit den Positionen von 4 bis 44. - Land: Eine Eigenschaft von
PassportInfo
gibt das Land des Passworteingabe als Zeichenkette zurück. Dies entspricht der ersten MRZ-Datenzeile mit den Positionen 2 bis 3. Die zurückgegebene Zeichenfolge würde den vollständigen Namen des ausstellenden Landes anstelle der Abkürzung ausschreiben. In unserem Beispiel kehrt die USA zu den Vereinigten Staaten von Amerika zurück. - PassportNumber: Eine Eigenschaft von
PassportInfo
gibt die Vornamen der Reisepass-Eingabe als Zeichenkette zurück. Dies entspricht der zweiten MRZ-Datenzeile, mit Positionen von 1 bis 9. - Nachname: Eine Eigenschaft von
PassportInfo
gibt den Nachnamen des Reisepass-Eingangs als String zurück. Dies entspricht der ersten MRZ-Datenzeile mit den Positionen von 4 bis 44. - DateOfBirth: Eine Eigenschaft von
PassportInfo
gibt das Geburtsdatum des Passporteingangs als Zeichenkette im Format JJJJ-MM-TT zurück. Dies entspricht der zweiten MRZ-Datenzeile mit den Positionen 14 bis 19. - DateOfExpiry: Ein Eigenschaftsmitglied von
PassportInfo
gibt das Ablaufdatum des Passes als Zeichenkette im Format JJJJ-MM-TT zurück. Dies entspricht der zweiten MRZ-Datenzeile mit den Positionen 22 bis 27.
Verstehen der MRZ-Informationen
IronOCR liest die MRZ-Informationen, die sich in den unteren zwei Reihen eines jeden Reisepasses befinden, der dem Standard der (Internationalen Zivilluftfahrt-Organisation) ICAO entspricht. Die MRZ-Daten bestehen aus zwei Datenzeilen, wobei jede Positionenreihe einzigartige Informationen enthält. Hier ist eine kurze Tabelle, welche Informationen dem Index der Zeile entsprechen: für alle Ausnahmen und eindeutigen Bezeichner, siehe bitte die ICAO-Dokumentationsstandards.
Beispiel-Eingabe:

Erste Reihe
Position | Field | Description |
---|---|---|
1 | Document Type | Typically 'P' for passport |
2-3 | Issuing Country | Three-letter country code (ISO 3166-1 alpha-3) |
4-44 | Surname and Given Names | Surname followed by '<<' and then given names separated by '<' |
Zweite Reihe
Position | Field | Description |
---|---|---|
1-9 | Passport Number | Unique passport number |
10 | Check Digit (Passport Number) | Check digit for the passport number |
11-13 | Nationality | Three-letter nationality code (ISO 3166-1 alpha-3) |
14-19 | Date of Birth | Date of birth in YYMMDD format |
20 | Check Digit (Date of Birth) | Check digit for the date of birth |
21 | Sex | Gender ('M' for male, 'F' for female, 'X' for unspecified) |
22-27 | Date of Expiry | Expiry date in YYMMDD format |
28 | Check Digit (Date of Expiry) | Check digit for the date of expiry |
29-42 | Personal Number | Optional personal number (usually national ID number) |
43 | Check Digit (Personal Number) | Check digit for the personal number |
44 | Check Digit (Composite) | Overall check digit |
Fehlersuche
Wir könnten die Ergebnisse von IronOCR auch verifizieren, indem wir den rohen extrahierten Text aus dem Passbild und das Vertrauensniveau abrufen, um zu bestätigen, ob die extrahierten Informationen korrekt sind. Anhand des obigen Beispiels können wir auf die Confidence
und Text
-Eigenschaften des OcrPassportResult
-Objekts zugreifen.
:path=/static-assets/ocr/content-code-examples/how-to/read-passport-debug.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 Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
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 Confidence level and raw extracted text
Console.WriteLine(result.Confidence)
Console.WriteLine(result.Text)
Konsolenausgabe:

- Confidence: Die
Confidence
-Eigenschaft vonOcrPassportResult
ist ein Float, der die statistische Genauigkeit der OCR als Mittelwert jedes Zeichens angibt. Dieser Wert wäre niedriger, wenn das Passbild unscharf ist oder andere Informationen enthält. Wo eins das höchste und vertrauensvollste ist und null das niedrigste und am wenigsten vertrauensvolle. - Text: Die
Text
-Eigenschaft ausOcrPassportResult
enthält den rohen, ungeparsten Text, der aus dem Passbild extrahiert wurde. Entwickler könnten dies in Unit-Tests verwenden, um den extrahierten Text des Passbildes zu überprüfen.