- Überblick
- Verträge zur Dokumentverarbeitung
- Über die DocumentProcessing-Verträge
- Box-Klasse
- IPersistedActivity-Schnittstelle
- PrettyBoxConverter-Klasse
- IClassifierActivity-Schnittstelle
- IClassifierCapabilitiesProvider-Schnittstelle
- ClassifierDocumentType-Klasse
- ClassifierResult-Klasse
- ClassifierCodeActivity-Klasse
- ClassifierNativeActivity-Klasse
- ClassifierAsyncCodeActivity-Klasse
- ClassifierDocumentTypeCapability-Klasse
- ExtractorAsyncCodeActivity-Klasse
- ExtractorCodeActivity-Klasse
- ExtractorDocumentType-Klasse
- ExtractorDocumentTypeCapabilities-Klasse
- ExtractorFieldCapability-Klasse
- ExtractorNativeActivity-Klasse
- ExtractorResult-Klasse
- ICapabilitiesProvider-Schnittstelle
- IExtractorActivity-Schnittstelle
- ExtractorPayload-Klasse
- DocumentActionPriority-Enumeration
- DocumentActionData-Klasse
- DocumentActionStatus-Enumeration
- DocumentActionType-Enumeration
- DocumentClassificationActionData-Klasse
- DocumentValidationActionData-Klasse
- UserData-Klasse
- Document-Klasse
- DocumentSplittingResult-Klasse
- DomExtensions-Klasse
- Page-Klasse
- PageSection-Klasse
- Polygon-Klasse
- PolygonConverter-Klasse
- Metadatenklasse
- WordGroup-Klasse
- Word-Klasse
- ProcessingSource-Enumeration
- ResultsTableCell-Klasse
- ResultsTableValue-Klasse
- ResultsTableColumnInfo-Klasse
- ResultsTable-Klasse
- Rotation-Enumeration
- SectionType-Enumeration
- WordGroupType-Enumeration
- IDocumentTextProjection-Schnittstelle
- ClassificationResult-Klasse
- ExtractionResult-Klasse
- ResultsDocument-Klasse
- ResultsDocumentBounds-Klasse
- ResultsDataPoint-Klasse
- ResultsValue-Klasse
- ResultsContentReference-Klasse
- ResultsValueTokens-Klasse
- ResultsDerivedField-Klasse
- ResultsDataSource-Enumeration
- ResultConstants-Klasse
- SimpleFieldValue-Klasse
- TableFieldValue-Klasse
- DocumentGroup-Klasse
- DocumentTaxonomy-Klasse
- DocumentType-Klasse
- Field-Klasse
- FieldType-Enumeration
- LanguageInfo-Klasse
- MetadataEntry-Klasse
- TextType-Aufzählung
- TypeField-Klasse
- ITrackingActivity-Schnittstelle
- ITrainableActivity-Schnittstelle
- ITrainableClassifierActivity-Schnittstelle
- ITrainableExtractorActivity-Schnittstelle
- TrainableClassifierAsyncCodeActivity-Klasse
- TrainableClassifierCodeActivity-Klasse
- TrainableClassifierNativeActivity-Klasse
- TrainableExtractorAsyncCodeActivity-Klasse
- TrainableExtractorCodeActivity-Klasse
- TrainableExtractorNativeActivity-Klasse
- Document Understanding Digitizer
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding-Prozess – Studio-Vorlage
- Document Understanding-Aktivitäten
- Über das Document Understanding-Paket
- Projektkompatibilität
- PDF-Passwort festlegen
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- PDF-Seitenbereich extrahieren
- Extract Document Data
- Validierungsaufgabe erstellen und warten
- Wait for Validation Task and Resume
- Create Validation Task
- Dokument klassifizieren (Classify Document)
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Wait For Classification Validation Task And Resume
- IntelligentOCR
- Über das IntelligentOCR-Aktivitätspaket
- Projektkompatibilität
- Taxonomie laden (Load Taxonomy)
- Digitalisieren von Dokumenten
- Dokumentbereich klassifizieren (Classify Document Scope)
- Schlüsselwortbasierte Classifier (Keyword Based Classifier)
- Intelligenter Schlüsselwortklassifizierer
- Present Classification Station
- Create Document Validation Action
- Wait For Document Classification Action And Resume
- Klassifizierer-Scope trainieren
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Datenextraktionsumfang
- Regex Based Extractor
- Form Extractor
- Extraktor für intelligente Formulare
- Aktuelle Validierungsstation
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Extraktionsergebnisse exportieren
- ML-Services
- OCR
- OCR-Verträge
- Versionshinweise
- Über die OCR-Verträge
- Projektkompatibilität
- IOCRActivity-Schnittstelle
- OCRAsyncCodeActivity-Klasse
- OCRCodeActivity-Klasse
- OCRNativeActivity-Klasse
- Character-Klasse
- OCRResult-Klasse
- Word-Klasse
- FontStyles-Enumeration
- OCRRotation-Enumeration
- OCRCapabilities-Klasse
- OCRScrapeBase-Klasse
- OCRScrapeFactory-Klasse
- ScrapeControlBase-Klasse
- ScrapeEngineUsages-Enumeration
- ScrapeEngineBase
- ScrapeEngineFactory-Klasse
- ScrapeEngineProvider-Klasse
- OmniPage
- PDF
- [Nicht aufgeführt] Abbyy
- Versionshinweise
- Über das Abbyy-Aktivitätspaket
- Projektkompatibilität
- Abbyy OCR
- Abbyy Cloud OCR
- FlexiCapture Classifier
- FlexiCapture Extractor
- FlexiCapture Scope
- Dokument klassifizieren (Classify Document)
- Dokument verarbeiten (Process Document)
- Dokument validieren (Validate Document)
- Dokument exportieren (Export Document)
- Feld erhalten (Get Field)
- Tabelle erhalten (Get Table)
- Vorbereiten der Validierungsstationsdaten
- [Nicht aufgeführt] Abbyy Embedded
Read PDF Files
.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.
.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:
- Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
-
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.
-
-
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.
- Fügen Sie im Panel Eigenschaften den Ausdruck
-
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.
- Fügen Sie im Panel Eigenschaften den Ausdruck
-
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
-
- 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 “
- Öffnen Sie den Sequence-Container „ Read PDF Text “, indem Sie darauf doppelklicken.
-
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.
- Fügen Sie im Panel Eigenschaften den Ausdruck
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie den Ausdruck
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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:
- Fügen Sie die Variable
-
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.
- Fügen Sie die Variable
-
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.
- Fügen Sie den Ausdruck
-
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.
- Fügen Sie die Variable
-
Platzieren Sie eine If -Aktivität unter der vorherigen.
- Fügen Sie den Ausdruck
item.Contains("Bank Account:")
in das Feld Bedingung ein.
- Fügen Sie den Ausdruck
-
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.
- Fügen Sie die Variable
-
Platzieren Sie eine If -Aktivität unter der vorherigen.
- Fügen Sie den Ausdruck
item.contains("IBAN Code:")
in das Feld Bedingung ein.
- Fügen Sie den Ausdruck
-
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:
- Fügen Sie die Variable
-
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:
- Fügen Sie den Wert
- Kehren Sie zum Hauptworkflow -Arbeitsbereich zurück.
Lesen einer PDF-Datei mit der Aktivität PDF mit OCR lesen
- Öffnen Sie den Sequenzcontainer PDF mit OCR lesen , indem Sie darauf doppelklicken.
-
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.
- Fügen Sie den Wert
-
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.
- Fügen Sie im Panel Eigenschaften die Variable
-
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.
- Fügen Sie den Wert
-
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.
- Fügen Sie im Panel Eigenschaften die Variable
-
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.
- Fügen Sie den Wert
-
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:
- Fügen Sie den Wert
- 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.