Analisi della documentazione di identità con Amazon Textract - Amazon Textract

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

Per analizzare i documenti di identità, utilizzare l'API AnalyzeID e passare un file di documento come input.AnalyzeIDrestituisce una struttura JSON contenente il testo analizzato. Per ulteriori informazioni, consultare Analisi di documenti di identità.

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 conAmazonTextractFullAccesseAmazonS3ReadOnlyAccessautorizzazioni. Per ulteriori informazioni, consultare Fase 1: Impostazione di un account AWS e creazione di un utente IAM.

    2. Installa e configura la AWS CLI e gli SDK AWS. Per ulteriori informazioni, consultare Fase 2: Configurazione diAWS CLIeAWSSDK.

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

    Per istruzioni, consultaCaricamento di oggetti in Amazon S3nellaGuida dell'utente Amazon Simple Storage Service.

  3. Utilizza i seguenti esempi per richiamare l'operazione AnalyzeID.

    CLI

    L'esempio seguente contiene un file di input da un bucket S3 ed esegue ilAnalyzeIDoperazione su di esso. Nel codice sottostante, sostituire il valore disecchiocon il nome del bucket S3, il valore didocumentocon il nome del file nel bucket e il valore diregionecon il nome dellaregionassociato 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 ilAnalyzeIDoperazione su di esso, restituendo le coppie chiave-valore rilevate. Nel codice sottostante, sostituire il valore dibucket_namecon il nome del bucket S3, il valore difile_namecon il nome del file nel bucket e il valore diregionecon il nome dellaregionassociato 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 ilAnalyzeIDoperazione su di esso, restituendo i dati rilevati. Nella funzione principale, sostituisci i valori dis3bucketesourceDoccon 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(); } } }
  4. Questo ti fornirà l'output JSON per ilAnalyzeIDoperazione.