Gestion des fichiers PDF
Introduction
UiPath propose de nombreuses commandes de manipulation de fichiers au format PDF. Il est possible d’accéder à certaines propriétés d’un fichier PDF, comme le nombre de pages du document.
Ce qui est encore plus intéressant et spectaculaire, c’est la possibilité d’utiliser des méthodes OCR (Optical Character Recognition ou reconnaissance optique de caractères) pour extraire des informations (textes, images) depuis des fichiers PDF.
Il est facile d’imaginer par exemple un traitement UiPath balayant un jeu de factures fournisseurs au format PDF présent dans un répertoire pour y récupérer des informations ensuite stockées dans une base de données.
Nous allons étudier au travers de plusieurs applications le potentiel des traitements UiPath sur des fichiers PDF à la fois avec le moteur OCR de Microsoft et celui de Google.
Application Nombre de pages d’un fichier PDF
1. Présentation de l’application
Cette première application compte le nombre de pages présentes dans un fichier PDF sélectionné sur le système de fichiers lors de l’exécution du processus UiPath.
De nombreuses ressources existent sur Internet pour vous aider dans l’élaboration d’applications manipulant des fichiers PDF.
La documentation officielle UiPath concernant la lecture de fichiers PDF est disponible à l’adresse : https://docs.uipath.com/activities/lang-fr/docs/read-pdf-files
Pour cette application, nous avons eu recours à l’un des nombreux blogs portant sur la gestion des fichiers PDF depuis UiPath.
La ressource « base de travail » est disponible à l’adresse https://forum.uipath.com/t/how-to-speed-up-the-ocr-scanning-progress/4865/3, avec un exemple que vous pouvez télécharger librement, nommé pdfPages.xaml.
2. Application UiPath
L’ordinogramme de ce processus UiPath est relativement simple :
La sélection du fichier PDF à traiter s’effectue au travers d’une activité de type UiPath.Core.Activities.SelectFile. Elle n’est pas sans rappeler l’activité UiPath.Core.Activities.SelectFolder utilisée dans la section Application Liste des noms des fichiers d’un répertoire...
Application Nombre de pages d’un lot de fichiers PDF
1. Présentation de l’application
Cette application reprend les bases vues dans la section précédente, mais cette fois-ci le traitement (détermination du nombre de pages d’un document PDF) est généralisé à l’ensemble des fichiers d’un répertoire choisi par l’intermédiaire de l’Explorateur de fichiers.
L’objectif est de déterminer le nombre de pages de l’œuvre littéraire de Stephan Zweig.
Le jeu de données pour cet auteur prolifique a été constitué à partir du site : https://www.ebooksgratuits.com/ebooks.php
2. Application UiPath
L’ordinogramme est bien sûr plus conséquent et il est présenté partiellement ci-après :
Regardons tout de suite la liste des variables mémoire déclarées dans le cadre de ce processus UiPath :
Les quatre premières activités de la séquence nommée Détermination nombre de pages ne présentent pas de grande difficulté d’interprétation. Nous avons déjà vu de telles activités dans le chapitre Gestion de fichiers et de répertoires.
L’activité Sélection du répertoire des documents sert à renseigner la variable repertoireTravail.
L’activité...
Application Lecture d’une facture au format PDF
1. Présentation de l’application
Dans les vidéos de communication des éditeurs de solutions RPA, le traitement de documents PDF tels que des bons de commande, des factures, des bordereaux administratifs, etc. est souvent mis en avant, au même titre que le data scraping (ou web scraping).
C’est le cas aussi d’UiPath, qui a prévu un jeu complet de composants (activités) dans son studio. Cette fonctionnalité est spectaculaire, car il est possible d’extraire toutes les informations de ces documents PDF et de les stocker ensuite dans des bases de données et par là même dans des applications métier qui sont aussi basées sur des SGBD.
Un processus UiPath ira toujours plus vite qu’un être humain chargé de la saisie manuelle de ces documents.
Il y a tout de même quelques bémols à apporter. Si le document est d’une très grande complexité, avec des champs présents de manière conditionnelle en particulier, le traitement UiPath sera compliqué à élaborer. Il faut aussi que les documents PDF soient homogènes. Il est difficile d’imaginer un processus UiPath capable de prendre en compte par exemple des factures émises par différents fournisseurs, et ceci dans un même lot à traiter.
Dernier...
Application Lecture de factures au format PDF
1. Présentation de l’application
Dans cette dernière application du chapitre, le traitement est nettement plus ambitieux : ce n’est pas une facture au format PDF, mais un lot qui est traité.
Nous en extrayons les données textuelles, en utilisant cette fois le moteur OCR alternatif de Microsoft. Nous exploitons plus dans le détail les champs extraits de chacune d’entre elles (coordonnées du fournisseur, coordonnées du client, total TTC…) et réalisons un cumul des montants TTC des factures pour l’ensemble du lot.
En termes de jeu d’essai, nous exploitons deux factures créées avec le dispositif utilisé dans la section précédente.
2. Application UiPath
Le traitement UiPath servant à analyser le contenu d’un lot de documents PDF (des factures) est plutôt conséquent. Il met en œuvre de nombreuses techniques déjà étudiées dans des applications de ce livre (notamment au chapitre Gestion de fichiers et de répertoires, pour la sélection du répertoire et son parcours, et le présent chapitre, pour la gestion OCR).
L’ordinogramme est présenté ci-après, avec certains blocs pliés pour faciliter une compréhension générale des principales phases du processus :
Déployons le bloc Initialisations diverses :
Ce bloc ne comporte pas vraiment de nouveauté.
La première activité de type Message Box sert uniquement à annoncer l’objectif général du traitement.
L’activité Sélection du répertoire est de type UiPath.Core.Activities.SelectFolder, elle a déjà été vue au chapitre Gestion de fichiers et de répertoires. Elle sert à renseigner la variable mémoire repertoireSelectionne qui contiendra le chemin absolu du répertoire choisi.
Regardons aussi la liste des nombreuses variables requises pour l’ensemble de ce traitement :
Les variables ont ici été classées par ordre alphabétique (via un clic sur l’en-tête de colonne) pour en faciliter le repérage.
L’activité Construction de la liste des fichiers a aussi été vue au chapitre Gestion...