activities
latest
false
Activités Document Understanding
Last updated 29 oct. 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 :
  1. La première explique comment lire le fichier .pdf tout en utilisant l'activité Lire le texte PDF (Read PDF Text).
  2. 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
  1. Ouvrez Studio et démarrez un nouveau Processus.
  2. Ajoutez un conteneur Flowchart dans le panneau Concepteur de workflow.
    1. 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é.
  3. Ajoutez une activité Boîte de dialogue d’entrée (Input Dialog) et reliez-la au nœud initial.
    1. Dans le panneau Propriétés , ajoutez l'expression "Choose one option below:" dans le champ Libellé .
    2. Ajoutez l'expression {"Read PDF Text", "Read PDF With OCR"} dans le champ Options .
    3. Ajoutez la valeur "Options" dans le champ Titre.
    4. Ajoutez la variable chooseOption dans le champ Résultat.
  4. 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.
    1. Dans le panneau Propriétés , ajoutez l'expression chooseOption = "Read PDF Text" dans le champ Condition .
  5. 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.
    1. Créez les variables indiquées dans le tableau suivant :
      Tableau 1. Variables à créer

      Nom de variable

      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
  6. 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).
    1. Créez les variables indiquées dans le tableau suivant :
      Tableau 2. Variables à créer

      Nom de variable

      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

  7. Lisez un fichier PDF en utilisant l’activité Lire le texte PDF (Read PDF Text) :
    1. Ouvrez le conteneur de séquence Lire le texte PDF (Read PDF Text) en le double-sélectionnant.
    2. Ajoutez une activité Lire le texte PDF (Read PDF Text) dans la séquence.
      1. Dans le panneau Propriétés , ajoutez l'expression "NPO Invoice.pdf" dans le champ NomFichier .
      2. Ajoutez la valeur "All" dans le champ Plage (Range ).
      3. Ajoutez la variable extractedText dans le champ Texte.
  8. Ajoutez une activité Affecter (Assign) après l’activité Lire le texte PDF (Read PDF Text).
    1. Ajoutez la variable arrayText dans le champ À.
    2. Ajoutez l’expression extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) dans le champ Valeur.
  9. Ajoutez une activité Log Message sous l'activité Assign.
    1. Ajoutez l’expression arrayText(0).Equals("Tiefland Glass AG") dans le champ Condition.
  10. Ajoutez une activité Attribuer (Assign) dans le conteneur Sequence.
    1. Ajoutez la variable address dans le champ À.
    2. Ajoutez l’expression arrayText(2) dans le champ Valeur.
  11. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable city dans le champ À.
    2. Ajoutez l’expression arrayText(3).Split(","c)(0) dans le champ Valeur.
  12. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable phoneNumber dans le champ À.
    2. Ajoutez l’expression arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) dans le champ Valeur.
  13. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable invoiceNumber dans le champ À.
    2. Ajoutez l’expression arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) dans le champ Valeur.
  14. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable vendor dans le champ À.
    2. Ajoutez l’expression arrayText(arrayText.Count-5) dans le champ Valeur.
  15. Placez une activité Affecter (Assign) dans le champ Sinon.
    1. Ajoutez la variable address dans le champ À.
    2. Ajoutez l’expression arrayText(1) dans le champ Valeur.
  16. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable city dans le champ À.
    2. Ajoutez l’expression arrayText(2).Split(","c)(0) dans le champ Valeur.
  17. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable phoneNumber dans le champ À.
    2. Ajoutez l’expression arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) dans le champ Valeur.
  18. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable invoiceNumber dans le champ À.
    2. Ajoutez l’expression arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) dans le champ Valeur.
  19. Ajoutez une autre activité Affecter (Assign) et placez-la après la précédente.
    1. Ajoutez la variable vendor dans le champ À.
    2. 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)

  20. Placez une activité Pour chaque (For Each) après le conteneur Si.
    1. Ajoutez la variable arrayText dans le champ Valeur (Value).
  21. Ajoutez une activité Si (If) dans le conteneur Corps de l’activité Pour chaque (For Each).
    1. Ajoutez l’expression item.Contains("Bank Name:") dans le champ Condition.
  22. Placez une activité Affecter (Assign) dans le champ Alors.
    1. Ajoutez la variable bankName dans le champ À.
    2. Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.
  23. Ajoutez une activité Si après la précédente.
    1. Ajoutez l’expression item.Contains("Bank Account:") dans le champ Condition.
  24. Placez une activité Affecter (Assign) dans le champ Alors.
    1. Ajoutez la variable bankName dans le champ À.
    2. Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.
  25. Ajoutez une activité Si après la précédente.
    1. Ajoutez l’expression item.contains("IBAN Code:") dans le champ Condition.
  26. Placez une activité Affecter (Assign) dans le champ Alors.
    1. Ajoutez la variable ibanCode dans le champ À.
    2. Ajoutez l’expression item.Split(":"c)(1) dans le champ Valeur.
      Image 3. Présentation de l’activité Pour chaque (For Each)

  27. 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).
    1. Ajoutez la valeur"InvoiceDetails.txt" dans le champ NomFichier .
    2. 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

  28. Revenez à la zone de travail du workflow principal .
  29. Lisez un fichier PDF en utilisant l’activité Lire le PDF avec OCR (Read PDF with OCR).
    1. Ouvrez le conteneur de séquence Lire le texte PDF (Read PDF Text).
    2. Faites glisser une activité Read PDF With OCR à l’intérieur de la séquence.
      1. Ajoutez la valeur "Invoice02.pdf" dans le champ NomFichier .
      2. 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) .
      1. Dans le panneau Propriétés , ajoutez la variable extractedTextTesseract dans le champ Texte .
    4. Ajoutez une autre activité Lire le PDF avec OCR (Read PDF With OCR) et placez-la après la précédente.
      1. Ajoutez la valeur "Invoice02.pdf" dans le champ NomFichier .
      2. 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) .
      1. 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) .
      1. Ajoutez la valeur "OCRMicrosoft.txt" dans le champ NomFichier .
      2. 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.
      1. Ajoutez la valeur "OCRTesseract.txt" dans le champ NomFichier .
      2. Ajoutez la variable extractedTextTesseract dans le champ Texte.
        Image 5. Présentation de l’activité Lire le PDF avec OCR (Read PDF with OCR)

  30. Exécutez le processus. Le robot extrait les données à l'aide du processus spécifié et enregistre la sortie dans un fichier .txt .
Accédez au lien suivant pour télécharger l’exemple au format ZIP : Exemple.

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
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.