Activités (Activities)
Plus récente (Latest)
False
Image de fond de la bannière
Activités Document Understanding
Dernière mise à jour 10 avril. 2024

Lire des fichiers PDF

Vous pouvez lire et extraire séparément le contenu des fichiers .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.

L'exemple ci-dessous présente deux situations de lecture d'un fichier .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.

Voici comment le processus d'automatisation peut être créé :

  1. Ouvrez Studio et démarrez un nouveau Processus.
  2. Faites glisser un Flowchart dans le panneau Concepteur de workflow.

    • Créez la variable suivante :

      Nom de variable

      Types de variables

      Valeur par défaut

      chooseOption

      ValeurGénérique

       
      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é.
  3. Faites glisser une activité Boîte de dialogue (Input Dialog ) et connectez-la au nœud de démarrage (Start Node).

    • 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.
  4. Placez une activité Flow Decision sous l’activité Input Dialog et connectez-la à celle-ci.

    • Dans le panneau Propriétés , ajoutez l'expression chooseOption = "Read PDF Text" dans le champ Condition .
  5. Faites glisser un conteneur Sequence et connectez-le à la branche True (True) 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 à l'aide d'expressions régulières.

    • Créez les variables suivantes :

      Nom de variable

      Types de variables

      Valeur par défaut

      extractedText

      Chaîne de caractères (string)

       

      arrayText

      System.String[]

       

      address

      ValeurGénérique

       

      city

      Chaîne de caractères (string)

       

      phoneNumber

      Chaîne de caractères (string)

       

      invoiceNumber

      Chaîne de caractères (string)

       

      vendor

      ValeurGénérique

       

      bankName

      Chaîne de caractères (string)

       

      bankAccount

      Chaîne de caractères (string)

       

      ibanCode

      Chaîne de caractères (string)

       
  6. Faites glisser un conteneur Sequence et connectez-le à la branche Faux (False) de l'activité Décision de flux ( Flow Decision ). Le nom de la séquence doit être Read PDF With OCR (Read PDF With OCR). Cette activité extrait des informations à l'aide d'un moteur OCR (Microsoft OCR et Tesseract OCR).
  • Créez la variable suivante :

    Nom de variable

    Types de variables

    Valeur par défaut

    extractedTextTesseract

    Chaîne de caractères (string)

     

    extractedTextMicrosoft

    Chaîne de caractères (string)

     

Voici à quoi devrait ressembler votre workflow jusqu’à présent :



Lire un fichier PDF à l'aide de l'activité Lire le texte PDF (Read PDF Text)
  1. Ouvrez le conteneur de séquence Lire le texte PDF en double-cliquant dessus.
  2. Faites glisser une activité Lire le texte PDF (Read PDF Text) à l’intérieur de 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.
  3. Placez une activité Assign (Assign) sous 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.
  4. Faites glisser une activité If sous l’activité Assign .

    • Ajoutez l’expression arrayText(0).Equals("Tiefland Glass AG") dans le champ Condition.
  5. Faites glisser une activité Assign dans le conteneur Sequence.

    • Ajoutez la variable address dans le champ À.
    • Ajoutez l’expression arrayText(2) dans le champ Valeur.
  6. Ajoutez une autre activité Attribuer (Assign) et placez-la sous la précédente.

    • Ajoutez la variable city dans le champ À.
    • Ajoutez l’expression arrayText(3).Split(","c)(0) dans le champ Valeur.
  7. Ajoutez une autre activité Attribuer (Assign) et placez-la sous 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.
  8. Ajoutez une autre activité Attribuer (Assign) et placez-la sous 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.
  9. Ajoutez une autre activité Attribuer (Assign) et placez-la sous la précédente.

    • Ajoutez la variable vendor dans le champ À.
    • Ajoutez l’expression arrayText(arrayText.Count-5) dans le champ Valeur.
  10. Faites glisser une activité Assign (Assign ) dans le champ Sinon ( Else ).

    • Ajoutez la variable address dans le champ À.
    • Ajoutez l’expression arrayText(1) dans le champ Valeur.
  11. Ajoutez une autre activité Attribuer (Assign) et placez-la sous la précédente.

    • Ajoutez la variable city dans le champ À.
    • Ajoutez l’expression arrayText(2).Split(","c)(0) dans le champ Valeur.
  12. Ajoutez une autre activité Attribuer (Assign) et placez-la sous 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.
  13. Ajoutez une autre activité Attribuer (Assign) et placez-la sous 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.
  14. Ajoutez une autre activité Attribuer (Assign) et placez-la sous la précédente.

    • Ajoutez la variable vendor dans le champ À.
    • Ajoutez l’expression arrayText(arrayText.Count-5) dans le champ Valeur.

      Voici à quoi devrait ressembler votre séquence jusqu’à présent :



  15. Placez une activité For Each sous le conteneur If et double-cliquez sur l’activité pour l’ouvrir.

    • Ajoutez la variable arrayText dans le champ Valeur (Value).
  16. Faites glisser une activité If à l’intérieur du conteneur Body de l’activité For Each .

    • Ajoutez l’expression item.Contains("Bank Name:") dans le champ Condition.
  17. Faites glisser une activité Assign (Assign ) dans le champ Alors (Then).

    • Ajoutez la variable bankName dans le champ À.
    • Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.
  18. Placez une activité If en dessous de la précédente.

    • Ajoutez l’expression item.Contains("Bank Account:") dans le champ Condition.
  19. Faites glisser une activité Assign (Assign ) dans le champ Alors (Then).

    • Ajoutez la variable bankName dans le champ À.
    • Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.
  20. Placez une activité If en dessous de la précédente.

    • Ajoutez l’expression item.contains("IBAN Code:") dans le champ Condition.
  21. Faites glisser une activité Assign (Assign ) dans le champ Alors (Then).

    • Ajoutez la variable ibanCode dans le champ À.
    • Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.

      Voici à quoi devrait ressembler le conteneur For Each :



  22. Revenez à la séquence Lire le texte PDF (Read PDF Text) et faites glisser 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.

      Voici à quoi devrait ressembler le conteneur For Each :



  23. Revenez à la zone de travail du workflow principal .
Lire un fichier PDF à l’aide de l’activité Lire le PDF avec OCR (Read PDF with OCR)
  1. Ouvrez le conteneur de séquence Lire le PDF avec OCR en double-cliquant dessus.
  2. 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.
  3. 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 .
  4. Faites glisser une autre activité Lire le PDF avec OCR et placez-la sous 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.
  5. 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 .
  6. 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.
  7. 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.

      Voici à quoi devrait ressembler la séquence Lire le PDF avec OCR :



  8. Exécutez le processus. Le robot extrait les données à l'aide du processus spécifié et enregistre la sortie dans un fichier .txt .

Téléchargez un exemple ici.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.