

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.

# Extrayez automatiquement le contenu de fichiers PDF à l'aide d'Amazon Textract
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract"></a>

*Tianxia Jia, Amazon Web Services*

## Résumé
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-summary"></a>

De nombreuses entreprises ont besoin d'extraire des informations à partir de fichiers PDF qui sont téléchargés vers leurs applications professionnelles. Par exemple, une organisation peut avoir besoin d'extraire avec précision des informations de fichiers PDF fiscaux ou médicaux à des fins d'analyse fiscale ou de traitement des demandes médicales.

Sur le cloud Amazon Web Services (AWS), Amazon Textract extrait automatiquement les informations (par exemple, le texte imprimé, les formulaires et les tableaux) des fichiers PDF et produit un fichier au format JSON contenant les informations du fichier PDF d'origine. Vous pouvez utiliser Amazon Textract dans l'AWS Management Console ou en implémentant des appels d'API. Nous vous recommandons d'utiliser des [appels d'API programmatiques](https://aws.amazon.com/textract/faqs/) pour redimensionner et traiter automatiquement un grand nombre de fichiers PDF.

Lorsqu'Amazon Textract traite un fichier, il crée la liste d'`Block`objets suivante : pages, lignes et mots de texte, formulaires (paires clé-valeur), tableaux et cellules, et éléments de sélection. D'autres informations sur les objets sont également incluses, par exemple les cadres de [délimitation](https://docs.aws.amazon.com/textract/latest/dg/API_BoundingBox.html), les intervalles de confiance et les relations. IDs Amazon Textract extrait les informations relatives au contenu sous forme de chaînes. Des valeurs de données correctement identifiées et transformées sont nécessaires car elles peuvent être plus facilement utilisées par vos applications en aval. 

Ce modèle décrit un step-by-step flux de travail permettant d'utiliser Amazon Textract pour extraire automatiquement le contenu des fichiers PDF et le transformer en un résultat propre. Le modèle utilise une technique de correspondance de modèles pour identifier correctement le champ, le nom de clé et les tables requis, puis applique des corrections de post-traitement à chaque type de données. Vous pouvez utiliser ce modèle pour traiter différents types de fichiers PDF, puis redimensionner et automatiser ce flux de travail pour traiter des fichiers PDF au format identique.   

## Conditions préalables et limitations
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Un bucket Amazon Simple Storage Service (Amazon S3) existant pour stocker les fichiers PDF après leur conversion au format JPEG en vue de leur traitement par Amazon Textract. Pour plus d'informations sur les compartiments S3, consultez la [présentation des compartiments](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) dans la documentation Amazon S3.
+ Le bloc-notes `Textract_PostProcessing.ipynb` Jupyter (joint), installé et configuré. Pour plus d'informations sur les blocs-notes Jupyter, consultez la section [Créer un bloc-notes Jupyter dans la documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-prepare.html) Amazon. SageMaker 
+ Fichiers PDF existants au format identique.
+ Compréhension de Python.

**Limites**
+ Vos fichiers PDF doivent être de bonne qualité et clairement lisibles. Les fichiers PDF natifs sont recommandés, mais vous pouvez utiliser des documents numérisés convertis au format PDF si tous les mots sont clairs. Pour plus d'informations à ce sujet, consultez la section [Prétraitement de documents PDF avec Amazon Textract : détection et suppression de visuels](https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/) sur le blog AWS Machine Learning.
+ Pour les fichiers de plusieurs pages, vous pouvez utiliser une opération asynchrone ou diviser les fichiers PDF en une seule page et utiliser une opération synchrone. Pour plus d'informations sur ces deux options, consultez les sections [Détection et analyse du texte dans des documents multipages](https://docs.aws.amazon.com/textract/latest/dg/async.html) et [Détection et analyse du texte dans des documents d'une seule page](https://docs.aws.amazon.com/textract/latest/dg/sync.html) dans la documentation Amazon Textract.

## Architecture
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-architecture"></a>

Le flux de travail de ce modèle exécute d'abord Amazon Textract sur un exemple de fichier PDF (*première exécution*), puis sur des fichiers PDF dont le format est identique à celui du premier PDF (exécution *répétée*). Le schéma suivant montre le flux de travail combiné de *première exécution* et de *répétition* qui extrait automatiquement et de manière répétée le contenu de fichiers PDF aux formats identiques.

![\[Utilisation d'Amazon Textract pour extraire le contenu de fichiers PDF\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/2d724523-2cab-42c9-a773-65857014d9ec/images/9e20070f-3e0c-46aa-aa98-a8b1eb3395dc.png)


 

Le diagramme montre le flux de travail suivant pour ce modèle :

1. Convertissez un fichier PDF au format JPEG et stockez-le dans un compartiment S3. 

1. Appelez l'API Amazon Textract et analysez le fichier JSON de réponse Amazon Textract. 

1. Modifiez le fichier JSON en ajoutant la bonne `KeyName:DataType` paire pour chaque champ obligatoire. Créez un `TemplateJSON` fichier pour l'étape *Repeat run*.

1. Définissez les fonctions de correction après le traitement pour chaque type de données (par exemple, float, entier et date).

1. Préparez les fichiers PDF dont le format est identique à celui de votre premier fichier PDF.

1. Appelez l'API Amazon Textract et analysez le JSON de réponse Amazon Textract.

1. Associez le fichier JSON analysé au `TemplateJSON` fichier.

1. Implémentez les corrections de post-traitement.

Le fichier de sortie JSON final contient le bon `KeyName` et `Value` pour chaque champ obligatoire.

**Pile technologique cible**
+ Amazon SageMaker 
+ Amazon S3 
+ Amazon Textract

**Automatisation et mise à l'échelle**

Vous pouvez automatiser le flux de travail de *répétition* à l'aide d'une fonction AWS Lambda qui lance Amazon Textract lorsqu'un nouveau fichier PDF est ajouté à Amazon S3. Amazon Textract exécute ensuite les scripts de traitement et le résultat final peut être enregistré sur un emplacement de stockage. Pour plus d'informations à ce sujet, consultez la section [Utilisation d'un déclencheur Amazon S3 pour appeler une fonction Lambda dans la documentation](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html) Lambda.

## Outils
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-tools"></a>
+ [Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html) est un service de machine learning entièrement géré qui vous permet de créer et de former rapidement et facilement des modèles de machine learning, puis de les déployer directement dans un environnement hébergé prêt pour la production.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
+ [Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) permet d'ajouter facilement la détection et l'analyse du texte des documents à vos applications.

## Épopées
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-epics"></a>

### Première course
<a name="first-time-run"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Convertissez le fichier PDF. | Préparez le fichier PDF pour votre première utilisation en le divisant en une seule page et en le convertissant au format JPEG pour l'opération [synchrone Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/sync.html) (). `Syn API`Vous pouvez également utiliser l'[opération asynchrone](https://docs.aws.amazon.com/textract/latest/dg/async.html) Amazon Textract (`Asyn API`) pour les fichiers PDF de plusieurs pages. | Data scientist, développeur | 
| Analysez le code JSON de réponse Amazon Textract. | Ouvrez le bloc-notes `Textract_PostProcessing.ipynb` Jupyter (joint) et appelez l'API Amazon Textract en utilisant le code suivant :<pre>response = textract.analyze_document(<br />Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre>Analysez le JSON de réponse dans un formulaire et un tableau à l'aide du code suivant :<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | Data scientist, développeur | 
| Modifiez le fichier TemplateJSON. | Modifiez le JSON analysé pour chacun `KeyName` des en-têtes correspondants `DataType` (par exemple, chaîne, valeur flottante, entier ou date) et des en-têtes de tableau (par exemple, `ColumnNames` et`RowNames`).Ce modèle est utilisé pour chaque type de fichier PDF individuel, ce qui signifie qu'il peut être réutilisé pour des fichiers PDF au format identique. | Data scientist, développeur | 
| Définissez les fonctions de correction après le traitement. | Les valeurs figurant dans la réponse d'Amazon Textract pour le `TemplateJSON` fichier sont des chaînes. Il n'y a aucune différenciation pour la date, le flottant, le nombre entier ou la devise. Ces valeurs doivent être converties dans le type de données adapté à votre cas d'utilisation en aval. Corrigez chaque type de données en fonction du `TemplateJSON` fichier en utilisant le code suivant :<pre>finalJSON=postprocessingCorrection(parsedJSON,templateJSON)</pre> | Data scientist, développeur | 

### Répéter la course
<a name="repeat-run"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez les fichiers PDF. | Préparez les fichiers PDF en les divisant en une seule page et en les convertissant au format JPEG pour l'opération [synchrone Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/sync.html) (). `Syn API`Vous pouvez également utiliser l'[opération asynchrone](https://docs.aws.amazon.com/textract/latest/dg/async.html) Amazon Textract (`Asyn API`) pour les fichiers PDF de plusieurs pages. | Data scientist, développeur | 
| Appelez l'API Amazon Textract. | Appelez l'API Amazon Textract à l'aide du code suivant :<pre>response = textract.analyze_document(<br />        Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre> | Data scientist, développeur | 
| Analysez le code JSON de réponse Amazon Textract. | Analysez le JSON de réponse dans un formulaire et un tableau à l'aide du code suivant :<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | Data scientist, développeur | 
| Chargez le fichier TemplateJSON et associez-le au JSON analysé. | Utilisez le `TemplateJSON` fichier pour extraire les paires clé-valeur et le tableau corrects à l'aide des commandes suivantes :<pre>form_kv_corrected=form_kv_correction(parseformKV,templateJSON)<br />form_table_corrected=form_Table_correction(parseformTables, templateJSON)<br />form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}</pre> | Data scientist, développeur | 
| Corrections après le traitement. | Utilisez `DataType` les fonctions de `TemplateJSON` fichier et de post-traitement pour corriger les données à l'aide du code suivant : <pre>finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)</pre> | Data scientist, développeur | 

## Ressources connexes
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-resources"></a>
+ [Extrayez automatiquement du texte et des données structurées à partir de documents avec Amazon Textract](https://aws.amazon.com/blogs/machine-learning/automatically-extract-text-and-structured-data-from-documents-with-amazon-textract/)
+ [Extrayez du texte et des données structurées avec Amazon Textract](https://aws.amazon.com/getting-started/hands-on/extract-text-with-amazon-textract/)
+ [Ressources Amazon Textract](https://aws.amazon.com/textract/resources/?blog-posts-cards.sort-by=item.additionalFields.createdDate&blog-posts-cards.sort-order=desc)

## Pièces jointes
<a name="attachments-2d724523-2cab-42c9-a773-65857014d9ec"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/2d724523-2cab-42c9-a773-65857014d9ec/attachments/attachment.zip)