

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
<a name="analyzing-document-identity"></a>

Pour analyser les documents d'identité, vous utilisez l'API AnalyzeID et transmettez un fichier de document en entrée.`AnalyzeID`renvoie une structure JSON qui contient le texte analysé. Pour plus d'informations, consultez [Analyse des documents d'identité](how-it-works-identity.md).

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 avec`AmazonTextractFullAccess`et`AmazonS3ReadOnlyAccess`Autorisations. Pour plus d'informations, consultez [Étape 1 : Configuration d'un compte AWS et création d'un utilisateur IAM](setting-up.md#setting-up-iam).

   1. Installez et configurez l'AWS CLI et les kits SDK AWS. Pour plus d'informations, consultez [Étape 2 : Configuration de l'AWS CLIetAWSKits SDK](setup-awscli-sdk.md).

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

   Pour obtenir des instructions, consultez[Chargement d'objets dans Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/UploadingObjectsintoAmazonS3.html)dans le*Manuel de l'utilisateur Amazon Simple Storage Service*.

1. 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 le`AnalyzeID`opération sur elle. Dans le code ci-dessous, remplacez la valeur de{{seau}}avec le nom de votre compartiment S3, la valeur de{{fichier}}avec le nom du fichier dans votre compartiment et la valeur de{{région}}avec le nom du`region`associé à 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 le`AnalyzeID`en renvoyant les paires clé-valeur détectées. Dans le code ci-dessous, remplacez la valeur de{{bucket\_name}}avec le nom de votre compartiment S3, la valeur de{{file\_name}}avec le nom du fichier dans votre compartiment et la valeur de{{région}}avec le nom du`region`associé à 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 le`AnalyzeID`opération sur elle, renvoyant les données détectées. Dans la fonction principale, remplacez les valeurs de`s3bucket`et`sourceDoc`avec 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();
          }
       }
   }
   ```

------

1. Vous obtiendrez ainsi la sortie JSON pour`AnalyzeID`.