How to Extract Passport Data with IronOCR

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

空港のカウンターチェックインやセキュリティ入国審査など、係員が毎日大量のパスポートを処理しなければならないアプリケーションやシステムでは、旅行者に関する重要なミッションクリティカル情報を正確に抽出する信頼性の高いシステムを持つことが、入国審査を効率的かつ合理的に進める上で極めて重要です。

クイックスタート:パスポートMRZ情報を1行で抽出する</em

この例では、OcrInputを使用してパスポート画像を読み込み、ReadPassport()を使用してデータを抽出し、返されたPassportInfoから名前、番号、日付などの構造化フィールドにアクセスすることがいかに簡単かを示しています。 難しい設定はありません。

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
### パスポート入力
以下のようになります。
次のようにします。 Sample image
### コード ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-passport-read-passport.cs ``` ### アウトプット
以下のようになります。
次のようにします。 結果出力
次に、`OcrPassportResult`オブジェクトから取得した`PassportInfo`データメンバーにアクセスします。 - `GivenNames`:`PassportInfo`のプロパティで、入力されたパスポートの与えられた名前を文字列として返します。 これは MRZ データの最初の行に相当し、ポジションは 4 から 44 です。 - `国`:`PassportInfo` のプロパティで、入力されたパスポートの国を文字列で返します。 これは MRZ データの最初の行に相当し、位置は 2 から 3 までです。返される文字列には、略称ではなく、発行国の正式名称が綴られます。 この例では、USAは「United States of America」を返します。 - `パスポート番号`:`PassportInfo` のプロパティは、入力されたパスポートのパスポート番号を文字列として返します。 これは2番目のMRZデータ行に相当し、ポジションは1から9まであります。 - `姓`:`PassportInfo`のプロパティで、パスポート入力の姓を文字列で返します。 これは MRZ データの最初の行に相当し、ポジションは 4 から 44 です。 - `DateOfBirth`:`PassportInfo` のプロパティで、パスポート入力の生年月日を YYYY-MM-DD 形式の文字列で返します。 これは、MRZデータの2行目、ポジション14から19に相当します。 - `DateOfExpiry`:`PassportInfo` のプロパティメンバで、パスポート入力の有効期限を YYYY-MM-DD 形式の文字列で返します。 これは、2番目のMRZデータ行のポジション22から27に相当します。
## MRZ情報の理解 IronOCRは(国際民間航空機関)[ICAO](https://www.icao.int/)の基準に従ったパスポートの下2行にあるMRZ情報を読み取ります。 MRZのデータは2つのデータ行で構成され、各行には固有の情報が含まれています。 以下は、どの情報が行の索引に対応するかについての簡単な表です。 ### 入力例
以下のようになります。
次のようにします。 MRZ location
最初の行 。 。 。 。 ## デバッギング また、IronOCRの結果を検証するために、パスポート画像から抽出された生のテキストと信頼度を取得し、抽出された情報が正確かどうかを確認することもできます。 上記の例を使用して、`OcrPassportResult` オブジェクトの `Confidence` および `Text` プロパティにアクセスできます。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-passport-debug.cs ``` [コンソール出力](/static-assets/ocr/how-to/read-passport/debug.webp)。 - `Confidence`: `OcrPassportResult` の `Confidence` プロパティは、各文字の平均としての OCR 統計精度の信頼度を示す float です。 パスポートの画像がぼやけていたり、他の情報が含まれていたりすると、このフロートは低くなります。 1が最高で最も自信があり、0が最低で最も自信がありません。 - `Text`:`OcrPassportResult`の`Text`プロパティには、パスポート画像から抽出された未解析のテキストが含まれます。 開発者は、パスポート画像の抽出されたテキストを検証するためのユニットテストでこれを使用することができます。

よくある質問

C#でOCRを使用してパスポートデータを抽出するにはどうすればよいですか?

IronOCRのReadPassportメソッドを使用して、C#でパスポートデータを抽出できます。まず、IronOCRライブラリとIronOcr.Extension.AdvancedScanパッケージをインストールしてください。パスポート画像をインポートして、データを取得するためにReadPassportを呼び出します。

IronOCRを使用してパスポートからどのような情報を抽出できますか?

IronOCRは、名前、国、パスポート番号、姓、生年月日、有効期限などの詳細をパスポートから抽出できます。

パスポート上の機械読み取りゾーン(MRZ)とは何ですか?

MRZはパスポートの下部2行に位置しており、重要なデータが含まれています。IronOCRはこのゾーンを読み取り、ICAO基準に従って情報を抽出します。

IronOCRでReadPassportメソッドを使用するための要件は何ですか?

高度なスキャニング機能のためにIronOcr.Extension.AdvancedScanパッケージをインストールし、プロジェクトがx64アーキテクチャで動作することを確認する必要があります。

IronOCRは抽出されたパスポートデータの精度を確認するために使用できますか?

はい、OcrPassportResultオブジェクトのConfidenceプロパティを使用して抽出されたデータの精度を確認できます。1に近い値が高い信頼度を示します。

アイロンOCRはパスポートデータ抽出のためにどの言語に対応していますか?

現在、IronOCRは英語ベースのパスポートに対してデータ抽出をサポートしています。

IronOCRはパスポートから抽出されたテキストをどのように処理しますか?

抽出されたデータはOcrPassportResultオブジェクトに保存され、各メンバーは簡単にアクセスおよび操作できる文字列として表されます。

'Text'プロパティは、OcrPassportResultオブジェクトでどのように使用されますか?

'Text'プロパティを使用してパスポートから抽出されたテキストにアクセスして確認し、情報が正確かつ完全であることを確認します。

パスポート画像にヘッダーやフッターが含まれている場合はどうすればよいですか?

ヘッダーやフッターがなくなったパスポート画像をIronOCRで使用してください。これらはデータ抽出プロセスの精度に干渉する可能性があります。

IronOCRをパスポートで使用する際の一般的なトラブルシューティングのヒントは何ですか?

正しいパッケージがインストールされていることを確認し、画像がクリアで適切にトリミングされていることを確認し、最適なパフォーマンスを得るためにアーキテクチャの互換性(x64)を確認してください。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

によってレビュー

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 70

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 70
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

">

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 84

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 84
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備はいいですか?
Nuget ダウンロード 5,044,537 | バージョン: 2025.11 ただ今リリースされました
ポジションフィールドDescription Description
1文書の種類通常、パスポートの場合は'P'
です。
2-3発行国3文字の国コード(ISO 3166-1 alpha-3)
4-44苗字と名前苗字の後に'<<'を付け、その後に'<'で区切って名前を付ける
ポジションフィールドDescription Description
1-9パスポート番号固有のパスポート番号
10チェックデジット(パスポート番号)パスポート番号のチェックデジット
11-13国籍3文字の国籍コード(ISO 3166-1 alpha-3)
14-19生年月日YYMMDD形式
20チェックデジット(生年月日)生年月日のチェックデジット
21性別(「M」は男性、「F」は女性、「X」は不詳)
22-27有効期限YYMMDD形式の有効期限
28チェックデジット(有効期限)有効期限日のチェックデジット
29-42個人番号任意個人番号(通常は国民ID番号)
43チェックデジット(個人番号)個人番号のチェックデジット
44 チェックデジット(複合)全体のチェックデジット