Análisis de la documentación de identidad con Amazon Textract - Amazon Textract

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Análisis de la documentación de identidad con Amazon Textract

Para analizar documentos de identidad, utiliza la API AnalyzeID y pasa un archivo de documento como entrada.AnalyzeIDdevuelve una estructura JSON que contiene el texto analizado. Para obtener más información, consulte Análisis de documentos de identidad.

Puede proporcionar un documento de entrada como matriz de bytes de imagen (bytes de imagen con codificación en base64) o como objeto Amazon S3. En este procedimiento cargará un archivo de imagen en su bucket de S3; y especificará el nombre de archivo.

Para analizar un documento de identidad (API)
  1. Si aún no lo ha hecho:

    1. Crear o actualizar un usuario de IAM conAmazonTextractFullAccessyAmazonS3ReadOnlyAccesspermisos. Para obtener más información, consulte Paso 1: Configuración de una cuenta de AWS y creación de un usuario de IAM.

    2. Instale y configure la AWS CLI y los AWS SDK. Para obtener más información, consulte Paso 2: Configurar laAWS CLIyAWSSDK de.

  2. Cargue una imagen que contenga un documento en su bucket de S3.

    Para obtener instrucciones, consulteCarga de objetos en Amazon S3en laAmazon Simple Storage Service Manual del usuario.

  3. Utilice los siguientes ejemplos para llamar a la operación AnalyzeID.

    CLI

    En el siguiente ejemplo, se toma un archivo de entrada de un bucket de S3; y ejecuta laAnalyzeIDoperación en él. En el siguiente código, sustituya el valor debaldecon el nombre de su bucket de S3, el valor dearchivocon el nombre del archivo del bucket y el valor deregióncon el nombre delregionasociada a la cuenta de.

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

    También puedes llamar a la API con la parte delantera y trasera de una licencia de conducir añadiendo otro objeto S3 a la entrada.

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

    Si está accediendo a la CLI en un dispositivo Windows, utilice comillas dobles en lugar de comillas simples y escapa de las comillas dobles internas mediante barra invertida (es decir,\) para corregir cualquier error de analizador que pueda surgir. Para un ejemplo, consulte a continuación:

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

    En el siguiente ejemplo, se toma un archivo de entrada de un bucket de S3; y ejecuta laAnalyzeIDen él, devolviendo los pares clave-valor detectados. En el siguiente código, sustituya el valor debucket_namecon el nombre de su bucket de S3, el valor defile_namecon el nombre del archivo del bucket y el valor deregióncon el nombre delregionasociada a la cuenta de.

    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

    En el siguiente ejemplo, se toma un archivo de entrada de un bucket de S3; y ejecuta laAnalyzeIDoperación en él, devolviendo los datos detectados. En la función principal, reemplace los valores des3bucketysourceDoccon los nombres del bucket de Amazon S3 e imagen de documento que utilizó en el paso 2.

    /* 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. Esto le proporcionará la salida de JSON para laAnalyzeID.