IRONSOFTWAREHOME

IronOCR을 사용하여 C#에서 여권 데이터 추출하기

Curtis Chau
Curtis Chau
Updated: 2026년 6월 29일

IronOCR의 ReadPassport 메서드는 C# 코드 한 줄로 여권 이미지에서 이름, 여권 번호, 생년월일 및 만료일과 같은 구조화된 데이터를 추출하여 이민 및 보안 응용 프로그램에 이상적입니다.

공항 체크인 카운터나 보안 검색대와 같이 직원들이 매일 대량의 여권을 처리하는 애플리케이션 및 시스템에서는 핵심 여행객 정보를 정확하게 추출하는 신뢰할 수 있는 시스템이 효율적이고 간소화된 출입국 심사 절차를 보장하는 데 매우 중요합니다. IronOCR 라이브러리 는 여권 판독에 최적화된 고급 OCR 기능을 제공하며, 내부적으로 Tesseract 5를 활용하고 머신 러닝 기능을 강화했습니다.

빠른 시작: 여권 MRZ 정보를 한 줄로 추출하기

이 예제는 OcrInput을 사용하여 여권 이미지를 로드하고, ReadPassport()를 사용하여 데이터를 추출하며, 반환된 PassportInfo에서 이름, 번호 및 날짜와 같은 구조화된 필드에 접근하는 방법을 보여줍니다. 복잡한 설정이 필요 없습니다. 단 한 줄의 간단한 명령만 입력하면 됩니다. 기존 Tesseract 구현 방식 과 달리 IronOCR은 문서 추출에 특화된 간소화된 API를 제공합니다.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2다음 코드 조각을 복사하여 실행하세요.

    var passportInfo = new IronOcr.IronTesseract().ReadPassport(new IronOcr.OcrInput("passport.jpg")).PassportInfo;
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronOCR 사용 시작하기
    arrow pointer

C#에서 여권 정보를 추출하는 방법은 무엇인가요?

예시로, IronOCR의 기능을 보여주기 위해 여권 이미지를 입력으로 사용하겠습니다. OcrInput을 사용하여 이미지를 로드한 후 ReadPassport 메서드를 활용하여 여권에서 정보를 식별하고 추출할 수 있습니다. 이 메서드는 OcrPassportResult 객체를 반환하며, 여기에는 GivenNames, Country, PassportNumber, Surname, DateOfBirth, DateOfExpiry, Gender, DocumentType, 국적, 국적Code, IssuingCountryCode, PersonalNumber, 및 DateOfIssue와 같은 속성을 포함합니다.

ReadPassport 메서드는 IronOCR의 전문화된 문서 읽기 기능의 일부이며, 여기에는 차량 번호판 읽기, MICR 수표, 및 기타 구조화된 문서를 위한 메서드도 포함됩니다. 이 방법은 고급 컴퓨터 비전 기술을 사용하여 MRZ(기계 판독 가능 영역) 영역을 자동으로 찾아 추출합니다.

참고해 주세요:
  • 현재 이 방법은 영문 여권에만 적용됩니다.
  • .NET Framework에서 고급 검사를 사용하려면 프로젝트가 x64 아키텍처에서 실행되어야 합니다.
  • Mac 사용자에게는 ReadPassport 메서드가 현재 입력을 자동으로 회전시키지 못함을 유념하세요. 입력 파일을 사용할 때는 MRZ가 항상 파일의 맨 아래에 있는지 확인하십시오. 그렇지 않으면 처리가 실패합니다. )}]

어떤 여권 사진 형식을 사용해야 할까요?

IronOCR은 JPG, PNG, TIFF, BMP 등 다양한 이미지 형식을 지원합니다. 최적의 결과를 얻으려면 여권 사진의 해상도(최소 300 DPI)와 조명이 적절한지 확인하십시오. 스캔 품질이 낮은 경우 DPI 설정을 조정할 수 있습니다.

미국 여권 데이터 페이지 예시 (인물 정보, 날짜 및 데이터 추출 데모를 위한 기계 판독 가능 영역 표시)

여권 정보를 추출하려면 어떤 코드가 필요합니까?

다음 예시는 여권 데이터 추출의 전체 과정을 보여줍니다. 여러 여권을 처리하는 애플리케이션의 경우, 성능 향상을 위해 멀티스레딩 지원을 구현하는 것을 고려하십시오. 또한 장기 작업의 경우 OCR 진행 상황을 추적할 수 있습니다.

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);
Console.WriteLine(result.PassportInfo.Gender);
Console.WriteLine(result.PassportInfo.DocumentType);
Console.WriteLine(result.PassportInfo.Nationality);
Console.WriteLine(result.PassportInfo.NationalityCode);
Console.WriteLine(result.PassportInfo.IssuingCountryCode);
Console.WriteLine(result.PassportInfo.PersonalNumber);
Console.WriteLine(result.PassportInfo.DateOfIssue);

ReadPassport를 실행하면 어떤 결과가 출력될까요?

추출된 데이터는 기존 시스템과의 통합이 용이하도록 구조화된 형식으로 반환됩니다. OcrResult 클래스는 모든 추출된 정보에 대한 포괄적인 접근을 제공합니다.

OCR 처리에서 추출된 여권 데이터(이름, 국가, 여권 번호 및 날짜)를 보여주는 디버그 콘솔

그런 다음 우리는 OcrPassportResult 객체에서 얻은 PassportInfo 데이터 멤버에 접근합니다. 추출 과정은 다양한 여권 레이아웃과 형식을 자동으로 처리하여 여러 발급 국가에서 일관된 결과를 제공합니다.

  • GivenNames: PassportInfo의 속성으로 입력된 여권의 주어진 이름을 문자열로 반환합니다. 이는 첫 번째 MRZ 데이터 행의 4에서 44 위치에 해당합니다.
  • Country: PassportInfo의 속성으로 입력된 여권의 국가를 문자열로 반환합니다. 이는 첫 번째 MRZ 데이터 행의 2~3번째 위치에 해당합니다. 반환되는 문자열은 약어가 아닌 발급 국가의 전체 이름을 나타냅니다. 예시에서 USA를 입력하면 '미국'이 반환됩니다.
  • PassportNumber: PassportInfo의 속성으로 입력된 여권의 여권 번호를 문자열로 반환합니다. 이는 두 번째 MRZ 데이터 행의 1에서 9 위치에 해당합니다.
  • Surname: PassportInfo의 속성으로 입력된 여권의 성을 문자열로 반환합니다. 이는 첫 번째 MRZ 데이터 행의 4에서 44 위치에 해당합니다.
  • DateOfBirth: PassportInfo의 속성으로 입력된 여권의 생년월일을 YYYY-MM-DD 형식의 문자열로 반환합니다. 이는 두 번째 MRZ 데이터 행의 14에서 19 위치에 해당합니다.
  • DateOfExpiry: PassportInfo의 속성 멤버로 입력된 여권의 만료일을 YYYY-MM-DD 형식의 문자열로 반환합니다. 이는 두 번째 MRZ 데이터 행, 즉 22번째부터 27번째 위치에 해당합니다.
  • Gender: MRZ 위치 21에서 성별을 Gender.Male, Gender.Female, 또는 Gender.Unspecified으로 반환합니다.
  • DocumentType: MRZ 위치 1-2에서 문서 유형을 반환하며, 여권의 경우 "P", 서비스의 경우 "PS", 외교의 경우 "PD" 등이 있습니다.
  • 국적: MRZ 위치 11-13에서 유도된 영문 국가명을 반환합니다.
  • 국적Code: MRZ 위치 11-13에 있는 원시 ISO 3166-1 알파-3 코드를 반환합니다.
  • IssuingCountryCode: MRZ 위치 3-5에서 발행 국가의 원시 ISO 3166-1 알파-3 코드를 반환합니다.
  • PersonalNumber: MRZ 위치 29-42에서 선택적인 국가 ID 번호를 반환합니다.
  • DateOfIssue: 27개 언어의 최적 일치 레이블 비교를 통해 시각 검역 구역 (VIZ)에서 추출된 발행일을 반환합니다.

여권에서 어떤 MRZ 정보를 추출할 수 있나요?

IronOCR은 국제민간항공기구( ICAO ) 표준을 준수하는 모든 여권의 하단 두 줄에 포함된 MRZ 정보를 읽습니다. MRZ 데이터는 두 개의 데이터 행으로 구성되며, 각 행의 위치 집합에는 고유한 정보가 포함되어 있습니다. 다음은 행의 인덱스에 해당하는 정보를 간략하게 보여주는 표입니다.

IronOCR의 MRZ 구문 분석 기능은 인쇄 품질 및 이미지 방향 의 변화를 처리하도록 설계되었습니다. 인식하기 어려운 문서의 경우, 이미지 보정 필터를 적용하여 인식 정확도를 높일 수 있습니다.

MRZ 섹션은 어떻게 생겼나요?

MRZ는 일반적으로 여권 페이지 하단에 위치하며 표준화된 텍스트 두 줄로 구성됩니다. MRZ 구조를 이해하면 추출 문제 해결 및 결과 검증에 도움이 됩니다.

미국 여권 페이지로, 기계 판독 영역(MRZ)이 빨간색 상자로 강조 표시되어 있으며 인코딩된 영숫자 데이터 줄이 나타납니다.

첫 번째 줄

위치필드설명
1문서 유형일반적으로 'P'는 여권을 의미합니다.
2-3발행국세 글자 국가 코드(ISO 3166-1 알파-3)
4-44성씨와 이름성 뒤에 '<<'를 붙이고, 그 뒤에 이름을 '<'로 구분합니다.

두 번째 줄

위치필드설명
1-9여권 번호고유 여권 번호
10검증 숫자(여권 번호)여권 번호의 검사 숫자
11-13국적세 글자 국적 코드(ISO 3166-1 알파-3)
14-19생일생년월일 (YYMMDD 형식)
20검증 숫자(생년월일)생년월일 검증 숫자
21섹스성별 ('M'은 남성, 'F'는 여성, 'X'는 미지정)
22-27만료일만료일은 YYMMDD 형식으로 입력하세요.
28검증 숫자(만료일)만료일 검증 숫자
29-42개인 번호선택 사항: 개인 번호(일반적으로 주민등록번호)
43검사 숫자(개인 번호)개인 번호의 검사 숫자
44검사 숫자(복합)전체 검사 숫자

여권 정보 추출 결과를 어떻게 디버깅하고 검증할 수 있나요?

또한, 여권 이미지에서 추출한 원본 텍스트와 신뢰도 수준을 확인하여 IronOCR의 결과를 검증하고 추출된 정보의 정확성을 확인할 수 있습니다. 위의 예제를 사용하여 우리는 OcrPassportResult 객체의 ConfidenceText 속성에 접근할 수 있습니다.

디버깅 목적으로 텍스트 영역을 강조 표시 하여 어떤 영역이 인식되었는지 시각적으로 확인할 수 있습니다. 이 기능은 추출 문제 해결이나 스캔 영역 최적화 시 특히 유용합니다.

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

VS Code 디버그 콘솔에 개인정보, 국가, 인코딩 문자열과 함께 여권 데이터 출력 표시

  • Confidence: OcrPassportResultConfidence 속성은 OCR 통계 정확도 신뢰성을 각 문자마다 평균으로 표시하는 플로트입니다. 여권 사진이 흐릿하거나 다른 정보가 포함되어 있는 경우 이 플로트는 더 낮아집니다. 1은 가장 높고 확신도가 가장 높은 값이고, 0은 가장 낮고 확신도가 가장 낮은 값입니다. 실제 운영 환경에서는 데이터 품질을 보장하기 위해 결과 신뢰도 임계값을 구현하는 것을 고려하십시오.
  • Text: OcrPassportResultText 속성에는 여권 이미지에서 추출된 원시, 필터링되지 않은 텍스트가 포함됩니다. 개발자는 이를 단위 테스트에서 사용하여 여권 이미지에서 추출된 텍스트를 검증할 수 있습니다. 고급 시나리오의 경우, 추가 분석을 위해 결과를 hOCR 형식 으로 내보낼 수 있습니다.

여권 스캔 애플리케이션 사용 모범 사례

실제 운영 환경에서 여권 스캔 기능을 구현할 때 다음과 같은 추가 요소를 고려하십시오.

  1. 이미지 품질 : 입력 이미지가 최소 품질 기준을 충족하는지 확인하십시오. 필터 마법사는 이미지 인식률을 높이기 위해 이미지 최적화에 도움을 줄 수 있습니다.

  2. 성능 : 대용량 처리를 위해 비동기 지원을 구현하고 여러 여권의 일괄 처리를 고려하십시오.

  3. 보안 : 여권 정보는 민감한 정보이므로 적절한 데이터 처리를 보장하고 안전한 문서 관리 시스템과의 통합을 고려해야 합니다.

  4. 유효성 검사 : 추출된 MRZ 데이터의 정확성을 보장하기 위해 검사 숫자 유효성 검사를 수행합니다. MRZ 형식에는 추출된 정보의 무결성을 확인하는 데 사용할 수 있는 여러 개의 검사 숫자가 포함되어 있습니다.

  5. 오류 처리 : 여권 사진이 손상되었거나, 조명이 불량하거나, 비표준 형식을 포함하는 경우에 대비하여 강력한 오류 처리 기능을 구현하십시오.

자주 묻는 질문

C#에서 이미지로부터 여권 정보를 추출하는 방법은 무엇인가요?

IronOCR의 ReadPassport 메서드를 사용하여 여권 데이터를 추출할 수 있습니다. OcrInput을 사용하여 여권 이미지를 불러온 다음 ReadPassport()를 호출하기만 하면 이름, 여권 번호, 생년월일, 만료일 등의 구조화된 데이터를 단 한 줄의 코드로 얻을 수 있습니다.

여권 정보 중 어떤 정보를 자동으로 추출할 수 있나요?

IronOCR의 ReadPassport 메서드는 여권 이미지에서 GivenNames, Country, PassportNumber, Surname, DateOfBirth 및 DateOfExpiry를 추출합니다. 모든 데이터는 구조화된 PassportInfo 객체에 문자열 형태로 반환됩니다.

여권 MRZ 데이터를 읽으려면 복잡한 설정이 필요한가요?

복잡한 설정이 필요하지 않습니다. IronOCR은 간소화된 API를 제공하여 기존 Tesseract 구현 방식처럼 더 많은 설정이 필요한 것이 아니라 단 한 줄의 코드로 여권 MRZ 데이터를 추출할 수 있습니다.

여권 판독 기능은 어떤 기술로 구현되었습니까?

IronOCR은 Tesseract 5를 기반으로 머신 러닝 기능 향상 및 고급 컴퓨터 비전 기술을 활용하여 여권 이미지에서 MRZ(기계 판독 가능 영역)를 자동으로 찾아 추출합니다.

이 시스템을 공항 출입국 관리 시스템에 사용할 수 있을까요?

네, IronOCR은 공항에서 매일 대량의 여권을 처리하는 출입국 관리 및 보안 업무에 이상적입니다. 효율적인 출입국 심사를 위해 필수적인 여행객 정보를 안정적으로 추출해 줍니다.

What are the requirements for using the ReadPassport method on a Mac?

When using ReadPassport on a Mac, ensure the MRZ is at the bottom of the input image, as automatic rotation is not supported, and the project needs to run in x64 architecture on advanced .NET Framework.

What image formats are supported by IronOCR for passport OCR?

IronOCR supports various image formats, including JPG, PNG, TIFF, and BMP, for passport OCR and recommends images with a resolution of at least 300 DPI.

Can IronOCR handle non-standard passport formats?

IronOCR's MRZ parsing is designed to handle variations in passport print quality and image orientation, making it adaptable to different passport layouts and formats.

How does IronOCR ensure the accuracy of extracted passport data?

IronOCR provides the Confidence property in the OcrPassportResult, which indicates the statistical accuracy of the OCR process, and developers can implement thresholds for quality assurance.

What additional features does IronOCR offer for MRZ extraction validation?

IronOCR includes features like check digit validation for MRZ data fields, ensuring the accuracy and integrity of the extracted information.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 6,236,385버전:2026.9방금 출시

지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronOCR"을 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.9

또는 여기에서 Windows 설치 프로그램을 다운로드하십시오.

  1. IronOCR을 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronOCR.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.