Amazon Textract Textract를 사용하여 자격 증명 문서 분석 - Amazon Textract

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Textract Textract를 사용하여 자격 증명 문서 분석

ID 문서를 분석하려면 AnalyzeId API를 사용하고 문서 파일을 입력으로 전달합니다.AnalyzeID는 분석된 텍스트를 포함하는 JSON 구조를 반환합니다. 자세한 정보는 ID 문서 분석을 참조하십시오.

입력 문서를 이미지 바이트 어레이 (base64 인코딩 이미지 바이트) 또는 Amazon S3 객체로 제공할 수 있습니다. 이 절차에서는 S3 버킷에 이미지 파일을 업로드하고 파일 이름을 지정합니다.

ID 문서 (API) 를 분석하려면
  1. 아직 설정하지 않았다면 다음과 같이 하십시오.

    1. 을 사용하여 IAM 사용자를 생성 또는 업데이트합니다.AmazonTextractFullAccessAmazonS3ReadOnlyAccess권한. 자세한 정보는 1단계: AWS 계정 설정 및 IAM 사용자 만들기을 참조하십시오.

    2. AWS CLI와 AWS SDK를 설치하고 구성합니다. 자세한 정보는 2단계: 설정AWS CLI과AWSSDK을 참조하십시오.

  2. 문서가 포함된 이미지를 S3 버킷에 업로드합니다.

    지침은 단원을 참조하십시오.Amazon S3 객체 업로드Amazon Simple Storage Service.

  3. 다음 예제를 사용하여 AnalyzeID 작업을 호출합니다.

    CLI

    다음 예제에서는 S3 버킷에서 입력 파일을 가져와AnalyzeID그것에 대한 작업. 아래 코드에서 다음 값을 바꿉니다.버킷S3 버킷의 이름을 사용하여파일을 사용하여 버킷의 파일 이름과 의 값을 사용하여부위의 이름과 함께region계정과 연결됩니다.

    aws textract analyze-id --document-pages '[{"S3Object":{"Bucket":"bucket","Name":"name"}}]' --region region

    입력에 다른 S3 객체를 추가하여 운전 면허증의 앞면과 뒷면을 사용하여 API를 호출할 수도 있습니다.

    aws textract analyze-id --document-pages '[{"S3Object":{"Bucket":"bucket","Name":"name front"}}, {"S3Object":{"Bucket":"bucket","Name":"name back"}}]' --region us-east-1

    Windows 장치에서 CLI에 액세스하는 경우 작은 따옴표 대신 큰따옴표를 사용하고 백슬래시 (예:\) 로 내부 큰따옴표를 이스케이프하여 발생할 수 있는 파서 오류를 해결합니다. 예제는 아래를 참조하십시오.

    aws textract analyze-id --document-pages "[{\"S3Object\":{\"Bucket\":\"bucket\",\"Name\":\"name\"}}]" --region region
    Python

    다음 예제에서는 S3 버킷에서 입력 파일을 가져와AnalyzeID이 작업에 대해 검색된 키-값 페어를 반환합니다. 아래 코드에서 다음 값을 바꿉니다.bucket_nameS3 버킷의 이름을 사용하여file_name을 사용하여 버킷의 파일 이름과 의 값을 사용하여부위의 이름과 함께region계정과 연결됩니다.

    import boto3 bucket_name = "bucket-name" file_name = "file-name" region = "region-name" def analyze_id(region, bucket_name, file_name): textract_client = boto3.client('textract', region_name=region) response = textract_client.analyze_id(DocumentPages=[{"S3Object":{"Bucket":bucket_name,"Name":file_name}}]) for doc_fields in response['IdentityDocuments']: for id_field in doc_fields['IdentityDocumentFields']: for key, val in id_field.items(): if "Type" in str(key): print("Type: " + str(val['Text'])) for key, val in id_field.items(): if "ValueDetection" in str(key): print("Value Detection: " + str(val['Text'])) print() analyze_id(region, bucket_name, file_name)
    Java

    다음 예제에서는 S3 버킷에서 입력 파일을 가져와AnalyzeID작업, 감지 된 데이터를 반환합니다. main 함수에서 다음 값을 바꿉니다.s3bucketsourceDoc2단계에서 사용한 Amazon S3 버킷과 문서 이미지의 이름이 표시됩니다.

    /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.amazonaws.samples; import com.amazonaws.regions.Regions; import com.amazonaws.services.textract.AmazonTextractClient; import com.amazonaws.services.textract.AmazonTextractClientBuilder; import com.amazonaws.services.textract.model.*; import java.util.ArrayList; import java.util.List; public class AnalyzeIdentityDocument { public static void main(String[] args) { final String USAGE = "\n" + "Usage:\n" + " <s3bucket><sourceDoc> \n\n" + "Where:\n" + " s3bucket - the Amazon S3 bucket where the document is located. \n" + " sourceDoc - the name of the document. \n"; if (args.length != 1) { System.out.println(USAGE); System.exit(1); } String s3bucket = "bucket-name"; //args[0]; String sourceDoc = "sourcedoc-name"; //args[1]; AmazonTextractClient textractClient = (AmazonTextractClient) AmazonTextractClientBuilder.standard() .withRegion(Regions.US_EAST_1) .build(); getDocDetails(textractClient, s3bucket, sourceDoc); } public static void getDocDetails(AmazonTextractClient textractClient, String s3bucket, String sourceDoc ) { try { S3Object s3 = new S3Object(); s3.setBucket(s3bucket); s3.setName(sourceDoc); com.amazonaws.services.textract.model.Document myDoc = new com.amazonaws.services.textract.model.Document(); myDoc.setS3Object(s3); List<Document> list1 = new ArrayList(); list1.add(myDoc); AnalyzeIDRequest idRequest = new AnalyzeIDRequest(); idRequest.setDocumentPages(list1); AnalyzeIDResult result = textractClient.analyzeID(idRequest); List<IdentityDocument> docs = result.getIdentityDocuments(); for (IdentityDocument doc: docs) { List<IdentityDocumentField>idFields = doc.getIdentityDocumentFields(); for (IdentityDocumentField field: idFields) { System.out.println("Field type is "+ field.getType().getText()); System.out.println("Field value is "+ field.getValueDetection().getText()); } } } catch (Exception e) { e.printStackTrace(); } } }
  4. 그러면 에 대한 JSON 출력을 제공합니다.AnalyzeID작업을 수행합니다.