- Overview
- Document Processing Contracts
- About the Document Processing Contracts
- Box Class
- IPersistedActivity Interface
- PrettyBoxConverter Class
- IClassifierActivity Interface
- IClassifierCapabilitiesProvider Interface
- ClassifierDocumentType Class
- ClassifierResult Class
- ClassifierCodeActivity Class
- ClassifierNativeActivity Class
- ClassifierAsyncCodeActivity Class
- ClassifierDocumentTypeCapability Class
- ExtractorAsyncCodeActivity Class
- ExtractorCodeActivity Class
- ExtractorDocumentType Class
- ExtractorDocumentTypeCapabilities Class
- ExtractorFieldCapability Class
- ExtractorNativeActivity Class
- ExtractorResult Class
- ICapabilitiesProvider Interface
- IExtractorActivity Interface
- ExtractorPayload Class
- DocumentActionPriority Enum
- DocumentActionData Class
- DocumentActionStatus Enum
- DocumentActionType Enum
- DocumentClassificationActionData Class
- DocumentValidationActionData Class
- UserData Class
- Document Class
- DocumentSplittingResult Class
- DomExtensions Class
- Page Class
- PageSection Class
- Polygon Class
- PolygonConverter Class
- Metadata Class
- WordGroup Class
- Word Class
- ProcessingSource Enum
- ResultsTableCell Class
- ResultsTableValue Class
- ResultsTableColumnInfo Class
- ResultsTable Class
- Rotation Enum
- SectionType Enum
- WordGroupType Enum
- IDocumentTextProjection Interface
- ClassificationResult Class
- ExtractionResult Class
- ResultsDocument Class
- ResultsDocumentBounds Class
- ResultsDataPoint Class
- ResultsValue Class
- ResultsContentReference Class
- ResultsValueTokens Class
- ResultsDerivedField Class
- ResultsDataSource Enum
- ResultConstants Class
- SimpleFieldValue Class
- TableFieldValue Class
- DocumentGroup Class
- DocumentTaxonomy Class
- DocumentType Class
- Field Class
- FieldType Enum
- LanguageInfo Class
- MetadataEntry Class
- TextType Enum
- TypeField Class
- ITrackingActivity Interface
- ITrainableActivity Interface
- ITrainableClassifierActivity Interface
- ITrainableExtractorActivity Interface
- TrainableClassifierAsyncCodeActivity Class
- TrainableClassifierCodeActivity Class
- TrainableClassifierNativeActivity Class
- TrainableExtractorAsyncCodeActivity Class
- TrainableExtractorCodeActivity Class
- TrainableExtractorNativeActivity Class
- Document Understanding Digitizer
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding Process - Studio Template
- Document Understanding Activities
- About the Document Understanding Package
- Project Compatibility
- Set PDF Password
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- Extract PDF Page Range
- Extract Document Data
- Create Validation Task and Wait
- Wait for Validation Task and Resume
- Create Validation Task
- Classify Document
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Wait for Classification Validation Task and Resume
- Intelligent OCR
- About the IntelligentOCR Activities Package
- Project Compatibility
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Intelligent Keyword Classifier
- Present Classification Station
- Create Document Classification Action
- Wait for Document Classification Action and Resume
- Train Classifiers Scope
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- RegEx Based Extractor
- Form Extractor
- Intelligent Form Extractor
- Present Validation Station
- Create Document Validation Action
- Wait for Document Validation Action and Resume
- Train Extractors Scope
- Export Extraction Results
- Manual Validation for Digitize Documents
- Data Extraction Using FlexiCapture
- Anchorbased Data Extraction Using Intelligent Form Extractor
- Validation Station
- ML Services
- OCR
- OCR Contracts
- Release Notes
- About the OCR Contracts
- Project Compatibility
- IOCRActivity Interface
- OCRAsyncCodeActivity Class
- OCRCodeActivity Class
- OCRNativeActivity Class
- Character Class
- OCRResult Class
- Word Class
- FontStyles Enum
- OCRRotation Enum
- OCRCapabilities Class
- OCRScrapeBase Class
- OCRScrapeFactory Class
- ScrapeControlBase Class
- ScrapeEngineUsages Enum
- ScrapeEngineBase
- ScrapeEngineFactory Class
- ScrapeEngineProvider Class
- OmniPage
- PDF
- [Unlisted] Abbyy
- [Unlisted] Abbyy Embedded
Data Extraction Using FlexiCapture
The example below explains how to extract and validate data from ID documents issued by different countries. It presents activities such as FlexiCapture Scope, Process Document, Prepare Validation Station Data, and Present Validation Station. You can find these activities in the UiPath.IntelligentOCR.Activities and UiPath.Abbyy.Activities packages.
This is how the automation process can be built:
-
Open Studio and create a new Process named by default Main.
Note: Add all the files used by the robot in the project folder. You can use your own files or you can download the ones provided it the below example. -
Drag a Sequence container in the Workflow Designer and create the following variables:
Variable Name
Variable Type
fcDoc
UiPath.Abbyy.Core.FlexiCapture.FCDocument
 result
String
 -
Drag an Assign activity inside the Sequence container.
- Add the variable
result
in the To field. - Add the expression
"FirstName|LastName|DateofBirth"+Environment.NewLine
in the Value field. This expression creates three new empty fields: First Name, Last Name and Date of Birth.
- Add the variable
-
Drag a For Each activity below the Assign activity.
- Add the value
item
in the ForEach field. - In the Properties panel, select the
String
option from the TypeArgument drop-down list. - Add the expression
directory.GetFiles("files")
in the Values field.
- Add the value
- Drag a FlexiCapture Scope activity inside the Body container of the For Each activity.
-
Place a Sequence activity inside the FlexiCapture Scope activity. This activity extracts the desired data from the given ID documents.
-
Create the following variables:
Variable Name
Variable Type
Default Value
firstName
UiPath.Abbyy.Core.FlexiCapture.FCField
 lastName
UiPath.Abbyy.Core.FlexiCapture.FCField
 dateOfBirth
UiPath.Abbyy.Core.FlexiCapture.FCField
 vdData
UiPath.Abbyy.Core.FlexiCapture.ValidationStationAdapters.ValidationStationData
 validatedResults
UiPath.DocumentProcessing.Contracts.Results.ExtractionResult
Â
-
-
Drag a Process Document activity inside the Sequence container of the FlexiCapture Scope.
- In the Properties panel, add the expression
{"IDs.fcdot"}
in the DefinitionFiles field. - Add the value
item
in the Document field. - Add the variable
fcDoc
in the Result field.
- In the Properties panel, add the expression
-
Drag a Prepare Validation Station activity below the Process Document activity.
- In the Properties panel, add the variable
fcDoc
in the Document field. - Add the variable
vdData
in the ValidationStationData field.
- In the Properties panel, add the variable
-
Drag a Present Validation Station activity below the Prepare Validation Station activity.
-
In the Properties panel, add the expression
vdData.ExtractionResults
in the AutomaticExtractionResults field.- Add the expression
vdData.Dom
in the DocumentObjectModel field. - Add the expression
item.ToString
in the DocumentPath field. - Add the expression
vdData.RawText
in the DocumentText field. - Add the expression
vdData.Taxonomy
in the Taxonomy field. - Add the variable
validatedResults
in the ValidatedExtractionResults field.
- Add the expression
- Place an Assign activity below the Present Validation Station activity.
- Add the variable
result
in the To field. - Add the expression
result+validatedResults.ResultsDocument.Fields(0).Values(0).Value+"|"+validatedResults.ResultsDocument.Fields(1).Values(0).Value+"|"+validatedResults.ResultsDocument.Fields(2).Values(0).Value+Environment.NewLine
in the Value field. This activity assigns values for each of the fields (First Name, Last Name and Date of Birth) defined at the beginning of the example.
-
-
Place a Write Text File activity under the For Each activity.
- Add the expression
result.txt
in the FileName field. - Add the variable
result
in the Text field.
- Add the expression
- Run the process. The robot extracts the data from the given ID documents, the user validates them and the validated results
are saved in a
.txt
file.
Download example from here.