

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Analisi della documentazione di identità con Amazon Textract
<a name="analyzing-document-identity"></a>

Per analizzare i documenti di identità, utilizzare l'API AnalyzeID e passare un file di documento come input.`AnalyzeID`restituisce una struttura JSON contenente il testo analizzato. Per ulteriori informazioni, consultare [Analisi di documenti di identità](how-it-works-identity.md).

Puoi fornire un documento di input come matrice di byte dell'immagine (byte dell'immagine codificata in formato Base64) o come oggetto Amazon S3. In questa procedura, viene caricato un file immagine nel bucket S3 e viene specificato il nome file.

**Per analizzare un documento di identità (API)**

1. Se non lo hai già fatto:

   1. Crea o aggiorna un utente IAM con`AmazonTextractFullAccess`e`AmazonS3ReadOnlyAccess`autorizzazioni. Per ulteriori informazioni, consultare [Fase 1: Impostazione di un account AWS e creazione di un utente IAM](setting-up.md#setting-up-iam).

   1. Installa e configura la AWS CLI e gli SDK AWS. Per ulteriori informazioni, consultare [Fase 2: Configurazione diAWS CLIeAWSSDK](setup-awscli-sdk.md).

1. Carica un'immagine contenente un documento nel bucket S3. 

   Per istruzioni, consulta[Caricamento di oggetti in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/UploadingObjectsintoAmazonS3.html)nella*Guida dell'utente Amazon Simple Storage Service*.

1. Utilizza i seguenti esempi per richiamare l'operazione `AnalyzeID`.

------
#### [ CLI ]

   

   L'esempio seguente contiene un file di input da un bucket S3 ed esegue il`AnalyzeID`operazione su di esso. Nel codice sottostante, sostituire il valore di{{secchio}}con il nome del bucket S3, il valore di{{documento}}con il nome del file nel bucket e il valore di{{regione}}con il nome della`region`associato all'account. 

   

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

   È inoltre possibile chiamare l'API con la parte anteriore e posteriore di una patente di guida aggiungendo un altro oggetto S3 all'input.

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

   Se si accede alla CLI su un dispositivo Windows, utilizzare virgolette doppie anziché virgolette singole ed evitare le virgolette doppie interne con la barra rovesciata (ad esempio\\) per risolvere eventuali errori di parser che potresti riscontrare. Ad esempio, consulta di seguito:

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

------
#### [ Python ]

   L'esempio seguente contiene un file di input da un bucket S3 ed esegue il`AnalyzeID`operazione su di esso, restituendo le coppie chiave-valore rilevate. Nel codice sottostante, sostituire il valore di{{bucket\_name}}con il nome del bucket S3, il valore di{{file\_name}}con il nome del file nel bucket e il valore di{{regione}}con il nome della`region`associato all'account. 

   ```
   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'esempio seguente contiene un file di input da un bucket S3 ed esegue il`AnalyzeID`operazione su di esso, restituendo i dati rilevati. Nella funzione principale, sostituisci i valori di`s3bucket`e`sourceDoc`con i nomi del bucket Amazon S3 e dell'immagine del documento utilizzati nella fase 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. Questo ti fornirà l'output JSON per il`AnalyzeID`operazione.