Aktivitäten
Neuestes
False
Bannerhintergrundbild
Document Understanding-Aktivitäten
Letzte Aktualisierung 10. April 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:
  • In der ersten wird erklärt, wie die .pdf-Datei gelesen wird, während die Aktivität Read PDF Text verwendet wird.
  • 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.

So kann der Automatisierungsprozess erstellt werden:

  1. Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
  2. Ziehen Sie einen Flowchart-Container in den Workflow-Designer.

    • Erstellen Sie die folgende Variable:

      Variablenname

      Variablentyp

      Standardwert

      chooseOption

      GenericValue

       
      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. Ziehen Sie eine Eingabedialog -Aktivität, und verbinden Sie sie mit dem Startknoten.

    • Fügen Sie im Panel Eigenschaften den Ausdruck "Choose one option below:" im Feld Beschriftung hinzu.
    • Fügen Sie den Ausdruck {"Read PDF Text", "Read PDF With OCR"} im Feld Optionen hinzu.
    • Fügen Sie den Wert "Options" in das Feld Titel ein.
    • Fügen Sie die Variable chooseOption in das Feld Ergebnis ein.
  4. Platzieren Sie eine Flow Decision- Aktivität unter der Aktivität Eingabedialog und verbinden Sie sie damit.

    • Fügen Sie im Panel Eigenschaften den Ausdruck chooseOption = "Read PDF Text" im Feld Bedingung hinzu.
  5. Ziehen Sie einen Sequence- Container und verbinden Sie ihn mit dem True- Zweig der Flow Decision- Aktivität. Der Name der Sequence sollte Read PDF Textlauten. Diese Aktivität extrahiert Informationen mithilfe regulärer Ausdrücke.

    • Erstellen Sie die folgenden Variablen:

      Variablenname

      Variablentyp

      Standardwert

      extractedText

      String

       

      arrayText

      System.String[]

       

      address

      GenericValue

       

      city

      String

       

      phoneNumber

      String

       

      invoiceNumber

      String

       

      vendor

      GenericValue

       

      bankName

      String

       

      bankAccount

      String

       

      ibanCode

      String

       
  6. Ziehen Sie einen Sequence- Container, und verbinden Sie ihn mit dem False- Zweig der Flow Decision- Aktivität. Der Name der Sequence sollte Read PDF With OCRlauten. Diese Aktivität extrahiert Informationen mithilfe eines OCR-Moduls (Microsoft OCR und Tesseract OCR).
  • Erstellen Sie die folgende Variable:

    Variablenname

    Variablentyp

    Standardwert

    extractedTextTesseract

    String

     

    extractedTextMicrosoft

    String

     

So sollte Ihr Workflow bis zu diesem Punkt aussehen:



Lesen einer PDF-Datei mit der Aktivität „ Read PDF Text
  1. Öffnen Sie den Sequence-Container „ Read PDF Text “, indem Sie darauf doppelklicken.
  2. Ziehen Sie eine Aktivität „PDF-Text lesen“ in die Sequence.

    • Fügen Sie im Panel Eigenschaften den Ausdruck "NPO Invoice.pdf" im Feld Dateiname hinzu .
    • Fügen Sie den Wert "All" im Feld Bereich hinzu.
    • Fügen Sie die Variable extractedText in das Feld Text ein.
  3. Platzieren Sie eine „ Assign “-Aktivität unter der Aktivität „ Read PDF Text “.

    • Fügen Sie die Variable arrayText im Feld An hinzu.
    • Fügen Sie den Ausdruck extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) in das Feld Wert ein.
  4. Ziehen Sie eine „ If “-Aktivität unter die „ Assign “-Aktivität.

    • Fügen Sie den Ausdruck arrayText(0).Equals("Tiefland Glass AG") in das Feld Bedingung ein.
  5. Ziehen Sie eine Assign-Aktivität in den Sequence-Container.

    • Fügen Sie die Variable address im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(2) in das Feld Wert ein.
  6. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable city im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(3).Split(","c)(0) in das Feld Wert ein.
  7. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable phoneNumber im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) in das Feld Wert ein.
  8. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable invoiceNumber im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) in das Feld Wert ein.
  9. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable vendor im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(arrayText.Count-5) in das Feld Wert ein.
  10. Ziehen Sie eine „ Assign “-Aktivität in das Feld „ Else “.

    • Fügen Sie die Variable address im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(1) in das Feld Wert ein.
  11. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable city im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(2).Split(","c)(0) in das Feld Wert ein.
  12. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable phoneNumber im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) in das Feld Wert ein.
  13. Ziehen Sie eine weitere Assign-Aktivität unter die vorherige.

    • Fügen Sie die Variable invoiceNumber im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(3).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.

    • Fügen Sie die Variable vendor im Feld An hinzu.
    • Fügen Sie den Ausdruck arrayText(arrayText.Count-5) in das Feld Wert ein.

      So sollte Ihre Sequence bis zu diesem Punkt aussehen:



  15. Platzieren Sie eine „For Each “-Aktivität unter dem „If “-Container, und doppelklicken Sie auf die Aktivität, um sie zu öffnen.

    • Fügen Sie die Variable arrayText im Feld Wert hinzu.
  16. Ziehen Sie eine If -Aktivität in den Body -Container der For Each -Aktivität.

    • Fügen Sie den Ausdruck item.Contains("Bank Name:") in das Feld Bedingung ein.
  17. Ziehen Sie eine „ Assign “-Aktivität in das Feld „ Dann “.

    • Fügen Sie die Variable bankName im Feld An hinzu.
    • Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.
  18. Platzieren Sie eine If -Aktivität unter der vorherigen.

    • Fügen Sie den Ausdruck item.Contains("Bank Account:") in das Feld Bedingung ein.
  19. Ziehen Sie eine „ Assign “-Aktivität in das Feld „ Dann “.

    • Fügen Sie die Variable bankName im Feld An hinzu.
    • Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.
  20. Platzieren Sie eine If -Aktivität unter der vorherigen.

    • Fügen Sie den Ausdruck item.contains("IBAN Code:") in das Feld Bedingung ein.
  21. Ziehen Sie eine „ Assign “-Aktivität in das Feld „ Dann “.

    • Fügen Sie die Variable ibanCode im Feld An hinzu.
    • Fügen Sie den Ausdruck item.Split(":"c)(1) in das Feld Wert ein.

      So sollte der For Each- Container aussehen:



  22. Kehren Sie zur Sequence PDF Text lesen zurück, und ziehen Sie eine Aktivität „ Write Text File “ unter die Aktivität „ For Each “.

    • Fügen Sie den Wert"InvoiceDetails.txt" im Feld FileName hinzu .
    • 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.

      So sollte der For Each- Container aussehen:



  23. Kehren Sie zum Hauptworkflow -Arbeitsbereich zurück.
Lesen einer PDF-Datei mit der Aktivität PDF mit OCR lesen
  1. Öffnen Sie den Sequenzcontainer PDF mit OCR lesen , indem Sie darauf doppelklicken.
  2. Ziehen Sie eine Aktivität „PDF mit OCR lesen“ in die Sequenz.

    • Fügen Sie den Wert "Invoice02.pdf" im Feld FileName hinzu .
    • 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 .

    • Fügen Sie im Panel Eigenschaften die Variable extractedTextTesseract im Feld Text hinzu.
  4. Ziehen Sie eine weitere Aktivität „PDF mit OCR lesen“ und platzieren Sie sie unter der vorherigen.

    • Fügen Sie den Wert "Invoice02.pdf" im Feld FileName hinzu .
    • 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) .

    • 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“ .

    • Fügen Sie den Wert "OCRMicrosoft.txt" im Feld FileName hinzu .
    • 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.

    • Fügen Sie den Wert "OCRTesseract.txt" im Feld FileName hinzu .
    • Fügen Sie die Variable extractedTextTesseract in das Feld Text ein.

      So sollte die „ Read PDF with OCR “-Sequenz aussehen:



  8. Führen Sie den Prozess aus. Der Roboter extrahiert die Daten mit dem angegebenen Prozess und speichert die Ausgabe in einer .txt -Datei.

Laden Sie das Beispiel hier herunter.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.