activities
latest
false
Document Understanding-Aktivitäten
Last updated 29. Okt. 2024

Read PDF Files

Sie können den Inhalt von .pdf -Dateien lesen und separat extrahieren, indem Sie Aktivitäten verwenden, die alle im Dokument enthaltenen Zeichen lesen können.

Je nach Ihren Anforderungen können Sie eine einfache Aktivität verwenden, die die Zeichen erkennt, oder eine mit einem OCR-Modul verwenden. Die Vorteile der Verwendung einer OCR-Engine bestehen darin, dass das Lesen von Dokumenten sogar auf gescannte, signierte oder handschriftliche Dokumente angewendet werden kann.

Das folgende Beispiel zeigt zwei Situationen beim Lesen einer .pdf -Datei:
  1. In der ersten wird erklärt, wie die .pdf-Datei gelesen wird, während die Aktivität Read PDF Text verwendet wird.
  2. In der zweiten wird erklärt, wie die .pdf-Datei gelesen wird, während die Aktivität Read PDF Text With OCR verwendet wird.

    Der Hauptunterschied zwischen den beiden Szenarien besteht darin, dass das zweite auch OCR-Module verwendet, was bedeutet, dass die Details der extrahierten Informationen genauer sind als im ersten Fall, wenn die analysierte Datei ein Bild ist, gescannt wurde oder signierte oder handgeschriebene Felder enthält. Sie finden beide Aktivitäten im Paket UiPath.PDF.Activities .

Für beide Szenarien ist nur ein Workflow erforderlich, der bis zu dem Punkt gilt, an dem der Benutzer aufgefordert wird, die gewünschte Lesemethode auszuwählen.

Schritte
  1. Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
  2. Fügen Sie einen Flowchart-Container zum Workflow-Designer hinzu.
    1. Erstellen Sie eine Variable mit dem Namen chooseOption mit dem Typ GenericValue und ohne Standardwert.
      Hinweis: Fügen Sie Ihre .pdf -Dateien zum Projektverzeichnis hinzu, um den gesamten Prozess an derselben Stelle ausführen zu können, oder laden Sie dieses Beispiel herunter, um die angegebene Datei zu verwenden.
  3. Fügen Sie eine Input Dialog-Aktivität hinzu und verbinden Sie sie mit dem Startknoten.
    1. Fügen Sie im Panel Eigenschaften den Ausdruck "Choose one option below:" im Feld Beschriftung hinzu.
    2. Fügen Sie den Ausdruck {"Read PDF Text", "Read PDF With OCR"} im Feld Optionen hinzu.
    3. Fügen Sie den Wert "Options" in das Feld Titel ein.
    4. Fügen Sie die Variable chooseOption in das Feld Ergebnis ein.
  4. Fügen Sie eine Flow Decision-Aktivität nach der Aktivität Input Dialog hinzu, und verbinden Sie sie mit dieser.
    1. Fügen Sie im Panel Eigenschaften den Ausdruck chooseOption = "Read PDF Text" im Feld Bedingung hinzu.
  5. Fügen Sie einen Sequence-Container hinzu und verbinden Sie ihn mit der Verzweigung True der Flow Decision-Aktivität. Der Name der Sequence muss Read PDF Text sein. Diese Aktivität extrahiert Informationen mithilfe regulärer Ausdrücke.
    1. Erstellen Sie die in der folgenden Tabelle gezeigten Variablen:
      Tabelle 1. Zu erstellende Variablen

      Variablenname

      Variablentyp

      Standardwert

      extractedText

      String

      Keine Angabe

      arrayText

      System.String[]

      Keine Angabe

      address

      GenericValue

      Keine Angabe

      city

      String

      Keine Angabe

      phoneNumber

      String

      Keine Angabe

      invoiceNumber

      String

      Keine Angabe

      vendor

      GenericValue

      Keine Angabe

      bankName

      String

      Keine Angabe

      bankAccount

      String

      Keine Angabe

      ibanCode

      String

      Keine Angabe
  6. Fügen Sie einen Sequence-Container hinzu und verbinden Sie ihn mit der Verzweigung False der Flow Decision-Aktivität. Der Name der Sequence muss Read PDF With OCR sein. Diese Aktivität extrahiert Informationen mithilfe eines OCR-Moduls (Microsoft OCR und Tesseract OCR).
    1. Erstellen Sie die in der folgenden Tabelle gezeigten Variablen:
      Tabelle 2. Zu erstellende Variablen

      Variablenname

      Variablentyp

      Standardwert

      extractedTextTesseract

      String

      Keine Angabe

      extractedTextMicrosoft

      String

      Keine Angabe
    Abbildung 1. Übersicht über den Beginn des Workflows

  7. Lesen Sie eine PDF-Datei mit der Aktivität Read PDF Text:
    1. Öffnen Sie den Sequence-Container PDF-Text lesen, indem Sie darauf doppelklicken.
    2. Fügen Sie eine Read PDF Text-Aktivität in die Sequence ein.
      1. Fügen Sie im Panel Eigenschaften den Ausdruck "NPO Invoice.pdf" im Feld Dateiname hinzu .
      2. Fügen Sie den Wert "All" im Feld Bereich hinzu.
      3. Fügen Sie die Variable extractedText in das Feld Text ein.
  8. Fügen Sie eine Assign-Aktivität nach der Aktivität Read PDF Text hinzu.
    1. Fügen Sie die Variable arrayText im Feld An hinzu.
    2. Fügen Sie den Ausdruck extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) in das Feld Wert ein.
  9. Fügen Sie eine If-Aktivität unter der Assign-Aktivität hinzu.
    1. Fügen Sie den Ausdruck arrayText(0).Equals("Tiefland Glass AG") in das Feld Bedingung ein.
  10. Fügen Sie eine Assign-Aktivität innerhalb des Sequence-Containers hinzu.
    1. Fügen Sie die Variable address im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(2) in das Feld Wert ein.
  11. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable city im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(3).Split(","c)(0) in das Feld Wert ein.
  12. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable phoneNumber im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) in das Feld Wert ein.
  13. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable invoiceNumber im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) in das Feld Wert ein.
  14. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable vendor im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(arrayText.Count-5) in das Feld Wert ein.
  15. Fügen Sie eine Assign-Aktivität in das Feld Else ein.
    1. Fügen Sie die Variable address im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(1) in das Feld Wert ein.
  16. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable city im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(2).Split(","c)(0) in das Feld Wert ein.
  17. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable phoneNumber im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) in das Feld Wert ein.
  18. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable invoiceNumber im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) in das Feld Wert ein.
  19. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.
    1. Fügen Sie die Variable vendor im Feld An hinzu.
    2. Fügen Sie den Ausdruck arrayText(arrayText.Count-5) in das Feld Wert ein.
      Abbildung 2. Übersicht über die Sequence mit den Assign-Aktivitäten

  20. Setzen Sie eine For Each-Aktivität hinter den If-Container.
    1. Fügen Sie die Variable arrayText im Feld Wert hinzu.
  21. Fügen Sie eine If-Aktivität in den Textkörper-Container der Aktivität For Each ein.
    1. Fügen Sie den Ausdruck item.Contains("Bank Name:") in das Feld Bedingung ein.
  22. Fügen Sie eine Assign-Aktivität in das Feld Then ein.
    1. Fügen Sie die Variable bankName im Feld An hinzu.
    2. Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.
  23. Fügen Sie eine If-Aktivität nach der vorherigen hinzu.
    1. Fügen Sie den Ausdruck item.Contains("Bank Account:") in das Feld Bedingung ein.
  24. Fügen Sie eine Assign-Aktivität in das Feld Then ein.
    1. Fügen Sie die Variable bankName im Feld An hinzu.
    2. Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.
  25. Fügen Sie eine If-Aktivität nach der vorherigen hinzu.
    1. Fügen Sie den Ausdruck item.contains("IBAN Code:") in das Feld Bedingung ein.
  26. Fügen Sie eine Assign-Aktivität in das Feld Then ein.
    1. Fügen Sie die Variable ibanCode im Feld An hinzu.
    2. Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.
      Abbildung 3. Übersicht über die For Each-Aktivität

  27. Kehren Sie zur Sequence PDF-Text lesen zurück und fügen Sie eine Write Text File-Aktivität unter der Aktivität For Each hinzu.
    1. Fügen Sie den Wert"InvoiceDetails.txt" im Feld FileName hinzu .
    2. Fügen Sie den Ausdruck "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 in das Feld Text ein.
      Abbildung 4. Übersicht über die For Each-Aktivität

  28. Kehren Sie zum Hauptworkflow -Arbeitsbereich zurück.
  29. Lesen Sie eine PDF-Datei mit der Aktivität Read PDF With OCR.
    1. Öffnen Sie den Sequence-Container PDF mit OCR lesen.
    2. Ziehen Sie eine Aktivität „PDF mit OCR lesen“ in die Sequenz.
      1. Fügen Sie den Wert "Invoice02.pdf" im Feld FileName hinzu .
      2. Fügen Sie im Eigenschaftenbereich den Wert 1 in das Feld Parallelitätsgrad ein.
    3. Ziehen Sie die Google OCR -Engine in die Aktivität PDF mit OCR lesen .
      1. Fügen Sie im Panel Eigenschaften die Variable extractedTextTesseract im Feld Text hinzu.
    4. Ziehen Sie eine weitere Read PDF With OCR-Aktivität unter die vorherige.
      1. Fügen Sie den Wert "Invoice02.pdf" im Feld FileName hinzu .
      2. Fügen Sie im Eigenschaftenbereich den Wert 1 in das Feld Parallelitätsgrad ein.
    5. Ziehen Sie das Microsoft OCR -Modul in die Aktivität PDF mit OCR lesen ( Read PDF With OCR) .
      1. Fügen Sie im Panel Eigenschaften die Variable extractedTextMicrosoft im Feld Text hinzu.
    6. Ziehen Sie eine Aktivität „Textdatei schreiben“ unter die Aktivität „PDF mit OCR lesen“ .
      1. Fügen Sie den Wert "OCRMicrosoft.txt" im Feld FileName hinzu .
      2. Fügen Sie die Variable extractedTextMicrosoft in das Feld Text ein.
    7. Ziehen Sie eine „Write Text File“ -Aktivität unter die vorherige „Write Text File“ -Aktivität.
      1. Fügen Sie den Wert "OCRTesseract.txt" im Feld FileName hinzu .
      2. Fügen Sie die Variable extractedTextTesseract in das Feld Text ein.
        Abbildung 5. Übersicht über die Aktivität Read PDF with OCR

  30. Führen Sie den Prozess aus. Der Roboter extrahiert die Daten mit dem angegebenen Prozess und speichert die Ausgabe in einer .txt -Datei.
Besuchen Sie den folgenden Link, um das Beispiel im ZIP-Format herunterzuladen: Beispiel.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten