How to Extract Passport Data with IronOCR

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

Dans les applications et les systèmes tels que l'enregistrement au comptoir et la sécurité de l'immigration dans les aéroports, où les agents doivent traiter un grand nombre de passeports chaque jour, il est essentiel de disposer d'un système fiable qui extrait avec précision les informations essentielles sur le voyageur pour garantir un processus d'immigration efficace et rationalisé.

Démarrage rapide : Extraire les informations MRZ du passeport en une ligne

Commencez à lire des passeports en quelques secondes : cet exemple montre comment il est facile de charger une image de passeport en utilisant OcrInput, d'utiliser ReadPassport() pour extraire des données, puis d'accéder aux champs structurés tels que les noms, les numéros et les dates à partir du PassportInfo renvoyé. Pas de configuration lourde - juste une ligne directe.

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 passportInfo = new IronOcr.IronTesseract().ReadPassport(new IronOcr.OcrInput("passport.jpg")).PassportInfo;
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer

Exemple d'extraction de données de passeport

À titre d'exemple, nous utiliserons une image de passeport comme entrée pour présenter les fonctionnalités d'IronOcr. Après avoir chargé l'image à l'aide de 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.

[{i :(

  • La méthode ne fonctionne actuellement que pour les passeports rédigés en anglais.
  • L'utilisation d'un scan avancé sur .NET Framework nécessite que le projet soit exécuté sur une architecture x64.
  • Pour les utilisateurs de Mac, veuillez noter que la méthode ReadPassport ne pivote pas automatiquement l'entrée. Lors de l'utilisation de l'entrée, veuillez vous assurer que le MRZ se trouve toujours au bas du fichier ; dans le cas contraire, le processus échouera. )}]

Saisie du passeport

Sample image

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

Sortie

Result output

Nous accédons ensuite au membre de données PassportInfo obtenu à partir de l'objet OcrPassportResult.

  • GivenNames : Une propriété de PassportInfo renvoie les noms donnés de l'entrée du passeport sous la forme d'une chaîne. Cela correspond à la première ligne de données MRZ, avec des positions allant de 4 à 44.
  • Country : Une propriété de PassportInfo renvoie le pays du passeport saisi sous forme de chaîne. La traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. Dans notre exemple, USA renvoie à "États-Unis d'Amérique".
  • Numéro de passeport : Une propriété de PassportInfo renvoie le numéro du passeport saisi sous forme de chaîne. Cela correspond à la deuxième ligne de données MRZ, avec des positions de 1 à 9.
  • Surname : Une propriété de PassportInfo renvoie le nom de famille de l'entrée du passeport sous forme de chaîne. Cela correspond à la première ligne de données MRZ, avec des positions allant de 4 à 44.
  • Date de naissance : Une propriété de PassportInfo renvoie la date de naissance de l'entrée du passeport sous la forme d'une chaîne au format AAAA-MM-JJ. Cela correspond à la deuxième ligne de données MRZ, avec les positions 14 à 19.
  • DateOfExpiry : Un membre de propriété de PassportInfo renvoie la date d'expiration de l'entrée du passeport sous la forme d'une chaîne au format AAAA-MM-JJ. Cela 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 rangées inférieures de tout passeport qui suit la norme de l'(Organisation de l'aviation civile internationale) ICAO. Les données MRZ se composent de deux lignes de données, chaque ensemble de positions contenant des informations uniques. Voici un bref tableau des informations correspondant à l'index de la rangée.

Exemple de saisie

MRZ location

Premier rang

Deuxième ligne
Position Champ Description
1Type de documentTypiquement "P" pour passeport
2-3Pays émetteurCode pays à trois lettres (ISO 3166-1 alpha-3)
4-44Nom de famille et prénomsNom de famille suivi de "<<" puis des prénoms séparés par "<"

## 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`. ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-passport-debug.cs ``` [Sortie console](/static-assets/ocr/how-to/read-passport/debug.webp) - `Confidence` : La propriété `Confidence` de `OcrPassportResult` est un nombre flottant indiquant la confiance dans la précision statistique de l'OCR en tant que moyenne de chaque caractère. Cette marge sera plus faible si l'image du passeport est floue ou contient d'autres informations. Le chiffre 1 correspond à la note la plus élevée et la plus sûre, et le chiffre 0 à la note la plus basse et la moins sûre. - `Text` : La propriété `Text` de `OcrPassportResult` contient le texte brut, non analysé, extrait de l'image du passeport. Les développeurs pourraient l'utiliser dans des tests unitaires pour vérifier le texte extrait de l'image du passeport.

Questions Fréquemment Posées

Comment puis-je extraire les données de passeport en utilisant OCR en C# ?

Vous pouvez utiliser la méthode ReadPassport de IronOCR pour extraire les données de passeport en C#. Tout d'abord, installez la bibliothèque IronOCR et le paquet IronOcr.Extension.AdvancedScan. Importez l'image du passeport, puis appelez ReadPassport pour récupérer les données.

Quelles informations peuvent être extraites d'un passeport avec IronOCR ?

IronOCR peut extraire des détails tels que les prénoms, le pays, le numéro de passeport, le nom de famille, la date de naissance et la date d'expiration d'un passeport.

Qu'est-ce que la zone lisible par machine (MRZ) sur un passeport ?

La MRZ est située sur les deux lignes inférieures d'un passeport et contient des données cruciales. IronOCR lit cette zone pour extraire des informations selon les normes de l'OACI.

Quelles sont les exigences pour utiliser la méthode ReadPassport dans IronOCR ?

Vous devez installer le paquet IronOcr.Extension.AdvancedScan et vous assurer que votre projet fonctionne sur une architecture x64 pour des capacités de numérisation avancées.

IronOCR peut-il être utilisé pour vérifier l'exactitude des données de passeport extraites ?

Oui, vous pouvez vérifier l'exactitude des données extraites en utilisant la propriété Confidence de l'objet OcrPassportResult, où une valeur proche de 1 indique une haute confiance.

Quelles langues sont prises en charge par IronOCR pour l'extraction de données de passeport ?

Actuellement, IronOCR prend en charge les passeports basés sur l'anglais pour l'extraction de données.

Comment IronOCR gère-t-il le texte extrait d'un passeport ?

Les données extraites sont stockées dans l'objet OcrPassportResult, chaque membre étant représenté comme une chaîne pour un accès et une manipulation faciles.

Quelle est l'utilisation de la propriété 'Text' dans l'objet OcrPassportResult ?

La propriété 'Text' vous permet d'accéder et de vérifier le texte extrait d'un passeport, garantissant que l'information est précise et complète.

Que dois-je faire si l'image du passeport inclut des en-têtes ou des pieds de page ?

Assurez-vous que l'image du passeport est dépourvue d'en-têtes ou de pieds de page avant d'utiliser IronOCR, car ceux-ci peuvent interférer avec l'exactitude du processus d'extraction des données.

Quels sont les conseils de dépannage courants lors de l'utilisation d'IronOCR pour les passeports ?

Vérifiez que les bons paquets sont installés, assurez-vous que l'image est claire et correctement recadrée, et vérifiez la compatibilité de l'architecture (x64) pour des performances optimales.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 5,044,537 | Version : 2025.11 vient de sortir
Position Champ Description
1-9Numéro de passeportNuméro unique de passeport
10Chiffre de contrôle (numéro de passeport)Chiffre de contrôle du numéro de passeport
11-13NationalitéCode de nationalité à trois lettres (ISO 3166-1 alpha-3)
14-19Date de naissanceDate de naissance au format AAMMJJ
20Chiffre de contrôle (date de naissance)Chiffre de contrôle pour la date de naissance
21SexeGenre ("M" pour homme, "F" pour femme, "X" pour non spécifié)
22-27Date d'expirationDate d'expiration au format AAMMJJ
28Chiffre de contrôle (date d'expiration)Chiffre de contrôle pour la date d'expiration
29-42Numéro personnelNuméro personnel facultatif (généralement le numéro d'identification national)
43Chiffre de contrôle (numéro personnel)Chiffre de contrôle pour le numéro personnel
44Chiffre de contrôle (composite)Chiffre de contrôle global