Analyse de la documentation d'identité avec Amazon Textract - Amazon Textract

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Analyse de la documentation d'identité avec Amazon Textract

Pour analyser les documents d'identité, vous utilisez l'API AnalyzeID et transmettez un fichier de document en entrée.AnalyzeIDrenvoie une structure JSON qui contient le texte analysé. Pour plus d'informations, consultez Analyse des documents d'identité.

Vous pouvez fournir un document d'entrée sous la forme d'un tableau d'octets d'image (octets d'image encodés en base64) ou en tant qu'objet Amazon S3. Dans cette procédure, vous chargez un fichier image dans votre compartiment S3 et spécifiez le nom du fichier.

Pour analyser un document d'identité (API)
  1. Si vous ne l'avez pas déjà fait :

    1. Créer ou mettre à jour un utilisateur IAM avecAmazonTextractFullAccessetAmazonS3ReadOnlyAccessAutorisations. Pour plus d'informations, consultez Étape 1 : Configuration d'un compte AWS et création d'un utilisateur IAM.

    2. Installez et configurez l'AWS CLI et les kits SDK AWS. Pour plus d'informations, consultez Étape 2 : Configuration de l'AWS CLIetAWSKits SDK.

  2. Chargez une image qui contient un document dans votre compartiment S3.

    Pour obtenir des instructions, consultezChargement d'objets dans Amazon S3dans leManuel de l'utilisateur Amazon Simple Storage Service.

  3. Utilisez les exemples suivants pour appeler l'opération AnalyzeID.

    CLI

    L'exemple suivant prend en charge un fichier d'entrée à partir d'un compartiment S3 et exécute leAnalyzeIDopération sur elle. Dans le code ci-dessous, remplacez la valeur deseauavec le nom de votre compartiment S3, la valeur defichieravec le nom du fichier dans votre compartiment et la valeur derégionavec le nom duregionassocié à votre compte.

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

    Vous pouvez également appeler l'API à l'avant et à l'arrière d'un permis de conduire en ajoutant un autre objet S3 à l'entrée.

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

    Si vous accédez à l'interface de ligne de commande sur un appareil Windows, utilisez des guillemets doubles au lieu de guillemets simples et échappez aux guillemets doubles internes par une barre oblique inverse (c'est-à-dire \) pour résoudre les erreurs d'analyseur que vous pourriez rencontrer. Pour un exemple, veuillez consulter ci-dessous :

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

    L'exemple suivant prend en charge un fichier d'entrée à partir d'un compartiment S3 et exécute leAnalyzeIDen renvoyant les paires clé-valeur détectées. Dans le code ci-dessous, remplacez la valeur debucket_nameavec le nom de votre compartiment S3, la valeur defile_nameavec le nom du fichier dans votre compartiment et la valeur derégionavec le nom duregionassocié à votre compte.

    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

    L'exemple suivant prend en charge un fichier d'entrée à partir d'un compartiment S3 et exécute leAnalyzeIDopération sur elle, renvoyant les données détectées. Dans la fonction principale, remplacez les valeurs des3bucketetsourceDocavec les noms du compartiment Amazon S3 et de l'image de document utilisés à l'étape 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. Vous obtiendrez ainsi la sortie JSON pourAnalyzeID.