- Vue d'ensemble (Overview)
- Document Processing Contracts
- Notes de publication
- À propos des contrats de traitement de documents
- Classe Zone
- Interface ActivitéIPersisted
- Classe PrettyBoxConverter
- Interface ActivitéIClassifier
- Interface FournisseurIClassifieurCapacités
- Classe TypeDocumentClassifieur
- Classe RésultatClassifieur
- Classe ActivitéCodeClassifieur
- Classe ActivitéClassifieurNatif
- Classe ActivitéClassifieurCodeAsync
- Classe CapacitéClassifieurTypeDocument
- Classe ActivitéExtracteurCodeAsync
- Classe ActivitéExtracteurCode
- Classe ExtracteurTypeDocument
- Classe ExtracteurDocumentTypeCapacités
- Classe ExtracteurChampCapacités
- Classe ActivitéExtracteurNatif
- Classe ExtracteurRésultat
- Interface FournisseurICapabilities
- Interface ActivitéIExtractor
- Classe ChargeUtileExtracteur
- Énumération PrioritéActionDocument
- Classe DocumentActionData
- Énumération StatutActionDocument
- Énumération TypeActionDocument
- Classe DocumentClassificationActionData
- Classe DocumentValidationActionData
- Classe DonnéesUtilisateur
- Classe Documents
- Classe RésultatDivisionDocument
- Classe ExtensionDom
- Classe Page
- Classe SectionPage
- Classe Polygone
- Classe ConvertisseurPolygones
- Classe de métadonnées
- Classe GroupeMot
- Classe Mot
- Énumération SourceTraitement
- Classe CelluleRésultatsTable
- Classe ValeurTableRésultats
- Classe InformationsColonnesTableRésultats
- Classe TableRésultats
- Énumération Rotation
- Énumération TypeSection
- Énumération TypeGroupeMot
- ProjectionTexteIDocument Interface
- Classe RésultatClassification
- Classe RésultatExtraction
- Classe ResultatsDocument
- Classe ResultatsLimitesDocument
- Classe ResultatsDonnéesPoint
- Classe RésultatsValeur
- Classe ResultatsContenuRéference
- Classe ResultatsValeurJetons
- Classe ResultatsChampDérivé
- Énumération ResultatsSourceDonnées
- Classe ResultatsConstantes
- Classe ChampValeurSimple
- Classe ValeurChampTable
- Classe GroupeDocument
- Classe DocumentTaxonomie
- Classe TypeDocument
- Classe Champ
- Énumération TypeChamp
- Classe InfoLangage
- Classe SaisieMétadonnées
- Énumération TypeTexte
- Classe TypeFieldTypeField Class
- Interface ActivitéISuivi
- ITrainableActivity Interface
- Interface ActivitéClassifieurITrainable
- Interface ActivitéExtracteurITrainable
- Classe ActivitéFormationClassifieurCodeAsync
- Classe ActivitéFormationClassifieurCode
- Classe ActivitéFormationClassifieurNatif
- Classe ActivitéFormationExtracteurCodeAsync
- Classe ActivitéFormationExtracteurCode
- Classe ActivitéFormationExtracteurNative
- Numériseur de Document Understanding
- Document Understanding ML
- Serveur local OCR Document Understanding
- Document Understanding
- Notes de publication
- À propos du package d’activités Document Understanding
- Compatibilité du projet
- Définir le mot de passe du PDF
- Merge PDFs
- Get PDF Page Count
- Extraire le texte PDF (Extract PDF Text)
- Extract PDF Images
- Extract PDF Page Range
- Extraire les données du document
- Create Validation Task and Wait
- Attendre la tâche de validation et reprendre
- Create Validation Task
- Classer un document (Classify Document)
- Créer une tâche de validation de classification (Create Classification Validation Task)
- Créer une tâche de validation de classification et attendre (Create Classification Validation Task and Wait)
- Attendre la tâche de validation de la classification et reprendre
- IntelligentOCR
- Notes de publication
- À propos du package d'activités IntelligentOCR
- Compatibilité du projet
- Configuration de l'authentification
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Classifieur de projet Document Understanding (Document Understanding Project Classifier)
- Intelligent Keyword Classifier
- Create Document Classification Action
- Attendre l'action de classification du document et reprendre
- Tester l'étendue des classifieurs
- Outil d'entraînement de classifieur basé sur des mots-clés
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- Extracteur de projet Document Understanding (Document Understanding Project Extractor)
- Regex Based Extractor
- Form Extractor
- Extracteur de formulaires intelligents
- Present Validation Station
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Tester l'étendue des extracteurs
- Export Extraction Results
- Services ML
- OCR
- Contrats OCR
- Notes de publication
- À propos des contrats OCR
- Compatibilité du projet
- Interface ActivitéIOCR
- Classe OCRCodeAsync
- Classe ActivitéCodeOCR
- Classe ActivitéOCRNatif
- Classe Caractère
- Classe RésultatOCR
- Classe Mot
- Énumération StylesPolice
- Énumération RotationOCR
- Classe OCRCapabilities
- Classe BaseCaptureOCR
- Classe UsineCaptureOCR
- Classe BaseContrôleCapture
- Énumération UtilisationCaptureMoteur
- ScrapeEngineBase
- Classe ScrapeEngineFactory
- Classe ScrapeEngineProvider
- OmniPage
- PDF
- [Non listé] Abbyy
- Notes de publication
- À propos du package d'activités Abbyy
- Compatibilité du projet
- Reconnaissance optique des caractères ABBYY (ABBYY OCR)
- Reconnaissance optique des caractères ABBYY Cloud (ABBYY Cloud OCR)
- FlexiCapture Classifier
- FlexiCapture Extractor
- FlexiCapture Scope
- Classer un document (Classify Document)
- Traiter le document (Process Document)
- Valider le document (Validate Document)
- Exporter le document (Export Document)
- Obtenir le champ (Get Field)
- Obtenir la table (Get Table)
- Prepare Validation Station Data
- [Non listé] Abbyy intégré
Lire des fichiers PDF
.pdf
à l'aide d'activités capables de lire tous les caractères inclus dans le document.
Selon vos besoins, vous pouvez utiliser une activité simple capable de reconnaître les caractères ou en utiliser une avec un moteur OCR. Les avantages de l'utilisation d'un moteur OCR sont que la lecture du document peut être appliquée même sur des documents numérisés, signés ou manuscrits.
.pdf
:
- La première explique comment lire le fichier
.pdf
tout en utilisant l'activité Lire le texte PDF (Read PDF Text). - La seconde explique comment lire le fichier
.pdf
tout en utilisant l'activité Lire le PDF avec OCR (Read PDF With OCR).La principale différence entre les deux scénarios est que le second utilise également des moteurs OCR, ce qui signifie que les détails des informations extraites sont plus précis que dans le premier cas si le fichier analysé est une image, numérisée, ou comprend des champs signés ou manuscrits. Vous pouvez trouver les deux activités dans le package UiPath.PDF.Activities .
Un seul workflow est requis pour les deux scénarios, commun jusqu'au point de demander à l'utilisateur de choisir la méthode de lecture souhaitée.
Étapes
- Ouvrez Studio et démarrez un nouveau Processus.
- Ajoutez un conteneur Flowchart dans le panneau Concepteur de workflow.
- Créez une variable nommée
chooseOption
avec le type ValeurGénérique et sans valeur par défaut.Remarque : ajoutez vos fichiers.pdf
au répertoire du projet afin de pouvoir exécuter l'ensemble du processus à partir du même endroit ou téléchargez cet exemple afin d'utiliser le fichier donné.
- Créez une variable nommée
- Ajoutez une activité Boîte de dialogue d’entrée (Input Dialog) et reliez-la au nœud initial.
- Dans le panneau Propriétés , ajoutez l'expression
"Choose one option below:"
dans le champ Libellé . - Ajoutez l'expression
{"Read PDF Text", "Read PDF With OCR"}
dans le champ Options . - Ajoutez la valeur
"Options"
dans le champ Titre. - Ajoutez la variable
chooseOption
dans le champ Résultat.
- Dans le panneau Propriétés , ajoutez l'expression
- Ajoutez une activité Décision de flux (Flow Decision) après l’activité Boîte de dialogue d’entrée (Input Dialog) et reliez-la à celle-ci.
- Dans le panneau Propriétés , ajoutez l'expression
chooseOption = "Read PDF Text"
dans le champ Condition .
- Dans le panneau Propriétés , ajoutez l'expression
- Ajoutez un conteneur Sequence et connectez-le à la branche Vrai de l’activité Décision de flux (Flow Decision). Le nom de la séquence doit être Lire le texte PDF (Read PDF Text). Cette activité extrait des informations en utilisant des expressions régulières.
- Créez les variables indiquées dans le tableau suivant :
Tableau 1. Variables à créer Types de variables
Valeur par défaut
extractedText
Chaîne de caractères (string)
S/O arrayText
System.String[]
S/O address
ValeurGénérique
S/O city
Chaîne de caractères (string)
S/O phoneNumber
Chaîne de caractères (string)
S/O invoiceNumber
Chaîne de caractères (string)
S/O vendor
ValeurGénérique
S/O bankName
Chaîne de caractères (string)
S/O bankAccount
Chaîne de caractères (string)
S/O ibanCode
Chaîne de caractères (string)
S/O
- Créez les variables indiquées dans le tableau suivant :
- Ajoutez un conteneur Sequence et connectez-le à la branche Faux de l’activité Décision de flux (Flow Decision). Le nom de la séquence doit être Lire le PDF avec OCR (Read PDF With OCR). Cette activité va extraire des informations à l’aide d’un moteur OCR (Microsoft OCR et Tesseract OCR).
- Créez les variables indiquées dans le tableau suivant :
Tableau 2. Variables à créer Types de variables
Valeur par défaut
extractedTextTesseract
Chaîne de caractères (string)
S/O extractedTextMicrosoft
Chaîne de caractères (string)
S/O
Image 1. Présentation du début du workflow
- Créez les variables indiquées dans le tableau suivant :
- Lisez un fichier PDF en utilisant l’activité Lire le texte PDF (Read PDF Text) :
- Ouvrez le conteneur de séquence Lire le texte PDF (Read PDF Text) en le double-sélectionnant.
- Ajoutez une activité Lire le texte PDF (Read PDF Text) dans la séquence.
- Dans le panneau Propriétés , ajoutez l'expression
"NPO Invoice.pdf"
dans le champ NomFichier . - Ajoutez la valeur
"All"
dans le champ Plage (Range ). - Ajoutez la variable
extractedText
dans le champ Texte.
- Dans le panneau Propriétés , ajoutez l'expression
- Ajoutez une activité Affecter (Assign) après l’activité Lire le texte PDF (Read PDF Text).
- Ajoutez la variable
arrayText
dans le champ À. - Ajoutez l’expression
extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une activité Log Message sous l'activité Assign.
- Ajoutez l’expression
arrayText(0).Equals("Tiefland Glass AG")
dans le champ Condition.
- Ajoutez l’expression
- Ajoutez une activité Attribuer (Assign) dans le conteneur Sequence.
- Ajoutez la variable
address
dans le champ À. - Ajoutez l’expression
arrayText(2)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
city
dans le champ À. - Ajoutez l’expression
arrayText(3).Split(","c)(0)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
phoneNumber
dans le champ À. - Ajoutez l’expression
arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
invoiceNumber
dans le champ À. - Ajoutez l’expression
arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
vendor
dans le champ À. - Ajoutez l’expression
arrayText(arrayText.Count-5)
dans le champ Valeur.
- Ajoutez la variable
- Placez une activité Affecter (Assign) dans le champ Sinon.
- Ajoutez la variable
address
dans le champ À. - Ajoutez l’expression
arrayText(1)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
city
dans le champ À. - Ajoutez l’expression
arrayText(2).Split(","c)(0)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
phoneNumber
dans le champ À. - Ajoutez l’expression
arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
invoiceNumber
dans le champ À. - Ajoutez l’expression
arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
- Ajoutez la variable
vendor
dans le champ À. - Ajoutez l’expression
arrayText(arrayText.Count-5)
dans le champ Valeur.Image 2. Présentation de la séquence contenant les activités de type Affecter (Assign)
- Ajoutez la variable
- Placez une activité Pour chaque (For Each) après le conteneur Si.
- Ajoutez la variable
arrayText
dans le champ Valeur (Value).
- Ajoutez la variable
- Ajoutez une activité Si (If) dans le conteneur Corps de l’activité Pour chaque (For Each).
- Ajoutez l’expression
item.Contains("Bank Name:")
dans le champ Condition.
- Ajoutez l’expression
- Placez une activité Affecter (Assign) dans le champ Alors.
- Ajoutez la variable
bankName
dans le champ À. - Ajoutez l’expression
item.Split(":"c)(1)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une activité Si après la précédente.
- Ajoutez l’expression
item.Contains("Bank Account:")
dans le champ Condition.
- Ajoutez l’expression
- Placez une activité Affecter (Assign) dans le champ Alors.
- Ajoutez la variable
bankName
dans le champ À. - Ajoutez l’expression
item.Split(":"c)(1)
dans le champ Valeur.
- Ajoutez la variable
- Ajoutez une activité Si après la précédente.
- Ajoutez l’expression
item.contains("IBAN Code:")
dans le champ Condition.
- Ajoutez l’expression
- Placez une activité Affecter (Assign) dans le champ Alors.
- Ajoutez la variable
ibanCode
dans le champ À. - Ajoutez l’expression
item.Split(":"c)(1)
dans le champ Valeur.Image 3. Présentation de l’activité Pour chaque (For Each)
- Ajoutez la variable
- Revenez à la séquence Lire le texte PDF (Read PDF Text) et ajoutez une activité Écrire un fichier texte (Write Text File) sous l’activité Pour chaque (For Each).
- Ajoutez la valeur
"InvoiceDetails.txt"
dans le champ NomFichier . - Ajoutez l'expression
"Invoice details"+Environment.NewLine+Environment.NewLine+"Vendor: "+vendor+Environment.NewLine+"Vendor address: "+address+Environment.NewLine+"City: "+city+Environment.NewLine+"Phone number:"+phoneNumber+Environment.NewLine+"Invoice number:"+invoiceNumber+Environment.NewLine+"Bank name:"+bankName+Environment.NewLine+"Bank account:"+bankAccount+Environment.NewLine+"IBAN Code:"+ibanCode
dans le champ Texte.Image 4. Présentation du conteneur Pour chaque
- Ajoutez la valeur
- Revenez à la zone de travail du workflow principal .
- Lisez un fichier PDF en utilisant l’activité Lire le PDF avec OCR (Read PDF with OCR).
- Ouvrez le conteneur de séquence Lire le texte PDF (Read PDF Text).
- Faites glisser une activité Read PDF With OCR à l’intérieur de la séquence.
- Ajoutez la valeur
"Invoice02.pdf"
dans le champ NomFichier . - Dans le panneau Propriétés, ajoutez la valeur
1
dans le champ LigneTableau.
- Ajoutez la valeur
- Faites glisser le moteur OCR de Google à l'intérieur de l'activité Lire le PDF avec OCR (Read PDF With OCR) .
- Dans le panneau Propriétés , ajoutez la variable
extractedTextTesseract
dans le champ Texte .
- Dans le panneau Propriétés , ajoutez la variable
- Ajoutez une autre activité Lire le PDF avec OCR (Read PDF With OCR) et placez-la après la précédente.
- Ajoutez la valeur
"Invoice02.pdf"
dans le champ NomFichier . - Dans le panneau Propriétés, ajoutez la valeur
1
dans le champ LigneTableau.
- Ajoutez la valeur
- Faites glisser le moteur OCR Microsoft à l'intérieur de l'activité Lire le PDF avec OCR (Read PDF With OCR) .
- Dans le panneau Propriétés , ajoutez la variable
extractedTextMicrosoft
dans le champ Texte .
- Dans le panneau Propriétés , ajoutez la variable
- Faites glisser une activité Write Text File sous l’activité Read PDF With OCR (Read PDF With OCR) .
- Ajoutez la valeur
"OCRMicrosoft.txt"
dans le champ NomFichier . - Ajoutez la variable
extractedTextMicrosoft
dans le champ Texte.
- Ajoutez la valeur
- Faites glisser une activité Write Text File sous l’activité Write Text File précédente.
- Ajoutez la valeur
"OCRTesseract.txt"
dans le champ NomFichier . - Ajoutez la variable
extractedTextTesseract
dans le champ Texte.Image 5. Présentation de l’activité Lire le PDF avec OCR (Read PDF with OCR)
- Ajoutez la valeur
- Exécutez le processus. Le robot extrait les données à l'aide du processus spécifié et enregistre la sortie dans un fichier
.txt
.
ZIP
: Exemple.