Comment extraire les données de passeport avec IronOCR
Dans les applications et systèmes tels que l'enregistrement au comptoir et le contrôle de sécurité dans les aéroports, où les agents doivent gérer un grand volume de passeports quotidiennement, disposer d'un système fiable qui extrait avec précision les informations essentielles et cruciales concernant le voyageur est crucial pour garantir un processus efficace et rationalisé à travers l'immigration.
IronOCR est un outil fiable qui rend l'extraction et la lecture de données d'un passeport sans effort. Le processus devient simple avec un simple appel à la méthode ReadPassport
.
Comment extraire les données de passeport avec IronOCR
- Téléchargez une bibliothèque C# pour lire les passeports
- Importer l'image du passeport pour la lecture
- Assurez-vous que le document contient uniquement l'image du passeport, sans en-têtes ni pieds de page.
- Utilisez la méthode
ReadPassport
pour extraire des données de l'image - Accédez à la propriété OcrPassportResult pour visualiser et manipuler davantage les données de passeport extraites
Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit.
Pour utiliser cette fonction, vous devez également installer le package IronOcr.Extension.AdvancedScan.
Exemple d'extraction de données de passeport
À titre d'exemple, nous utiliserons une image de passeport comme entrée pour démontrer la fonctionnalité d'IronOCR. Après avoir chargé l'image en utilisant OcrInput, vous pouvez utiliser la méthode ReadPassport
pour identifier et extraire des informations du passeport. Cette méthode renvoie un objet OcrPassportResult, qui contient des propriétés telles que GivenNames, Country, PassportNumber, Surname, DateOfBirth, et DateOfExpiry. Tous les membres de l'objet PassportInfo sont des chaînes de caractères.
A noter
- La méthode fonctionne actuellement uniquement pour les passeports basés sur l'anglais.
-
L'utilisation de l'analyse avancée sur le Framework .NET nécessite que le projet soit exécuté sur une architecture x64.
Entrée de passeport

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)
Sortie

Nous accédons ensuite au membre de données PassportInfo
obtenu à partir de l'objet OcrPassportResult
.
- GivenNames : Une propriété de
PassportInfo
retourne les prénoms du passeport saisi sous forme de chaîne de caractères. Ceci correspond à la première ligne de données MRZ avec les positions de 4 à 44. - Pays : Une propriété de
PassportInfo
renvoie le pays du passeport saisi sous forme de chaîne de caractères. Cela correspond à la première ligne de données MRZ avec les positions de 2 à 3. La chaîne retournée indiquerait le nom complet du pays émetteur au lieu de l'abréviation. Dans notre exemple, les USA reviennent aux États-Unis d'Amérique. - PassportNumber : Une propriété de
PassportInfo
renvoie les prénoms de l'entrée du passeport sous forme de chaîne. Cela correspond à la deuxième ligne de données MRZ, avec des positions allant de 1 à 9. - Nom de famille : Une propriété de
PassportInfo
renvoie le nom de famille de l'entrée du passeport sous forme de chaîne. Ceci correspond à la première ligne de données MRZ avec les positions de 4 à 44. - DateOfBirth : Une propriété de
PassportInfo
renvoie la date de naissance de l'entrée du passeport sous forme de chaîne dans le format AAAA-MM-JJ. Cela correspond à la deuxième ligne de données MRZ avec les positions de 14 à 19. - DateOfExpiry : Un membre de propriété de
PassportInfo
retourne la date d'expiration du passeport en entrée sous forme de chaîne au format YYYY-MM-DD. Ceci correspond à la deuxième ligne de données MRZ avec les positions 22 à 27.
Comprendre les informations MRZ
IronOCR lit les informations MRZ qui sont contenues dans les deux lignes inférieures de tout passeport conforme à la norme de l'Organisation de l'aviation civile internationale (OACI). Les données MRZ se composent de deux lignes de données, chaque ensemble de positions contenant des informations uniques. Voici un tableau récapitulatif indiquant quelle information correspond à l'indice de la ligne ; pour toutes les exceptions et identifiants uniques, veuillez vous référer aux normes de documentation de l'OACI.
Exemple d'entrée :

Première Ligne
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 '<' |
Deuxième ligne
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 |
Débogage
Nous pourrions également vérifier les résultats d'IronOCR en obtenant le texte brut extrait de l'image du passeport et le niveau de confiance pour confirmer si les informations extraites sont exactes. En utilisant l'exemple ci-dessus, nous pouvons accéder aux propriétés Confidence
et Text
de l'objet OcrPassportResult
.
: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)
Sortie console :

- Confiance : La propriété
Confidence
deOcrPassportResult
est un flottant indiquant la confiance statistique de précision de l'OCR comme une moyenne de chaque caractère. Ce montant serait inférieur si l'image du passeport est floue ou contient d'autres informations. Où 1 représente le niveau le plus élevé et le plus sûr, et 0 le niveau le plus bas et le moins sûr. - Texte : La propriété
Text
deOcrPassportResult
contient le texte brut non analysé extrait de l'image du passeport. Les développeurs pourraient utiliser ceci dans les tests unitaires pour vérifier le texte extrait de l'image du passeport.