- Release Notes
- About the Abbyy Activities Package
- Project Compatibility
- Release Notes
- About the Document Processing Contracts
- Preview Releases
- 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
- Release Notes
- About the Document Understanding Package
- Project Compatibility
- Release Notes
- 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
- 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
- ScrapeEngineFactory Class
- ScrapeEngineProvider Class
The Form Extractor is best suited for extracting, matching, and reporting specific information by analyzing the word's position inside the document, or detecting a signature. This activity can be used only together with the Data Extraction Scope activity. Handwritten text can also be detected if the Form Extractor activity is used along with the UiPath Document OCR activity.
- DisplayName - The display name of the activity.
- ApiKey - Specifies the API key of the account. The API Key field is automatically pre-populated if defined in local project settings or in the Document Understanding framework.
- Endpoint - The URL to
UiPath server. By default, the endpoint is
https://du.uipath.com/svc/formextractor. For more information, see Document Understanding Public Endpoints.
- MinOverlapPercentage -
Specifies the minimum overlap area (in percentage) between a box in the document
and a box in the template required to make an extraction. The percentage value
can be set between
100. The default value is
- Send documents - Send documents for better support, troubleshooting, and performance improvements.
- Timeout - Specifies the amount of time (in milliseconds) to wait for a response from the server before an error is thrown. The default value is 100000 milliseconds (100 seconds).
- Private - If selected, the
values of variables and arguments are no longer logged at Verbose level.
Note: Multiple templates can be defined for one Document Type. When the activity is run, the extractor selects the best matching template based on the information found on the first page.
The Template Manager Wizard
Allows you to create, edit, manage, and export/import templates for the document types defined in the taxonomy.
Creating a template
- Add a Form Extractor activity to your workflow, within a Data Extraction Scope.
- Configure the extractor by
clicking on the Manage Templates button.
- The Template
Manager window opens.
- The Template Manager window opens.
- Click the Create Template
button for creating a new template.
If the UiPath.IntelligentOCR.Activities package has been updated to v5.1.0, then the ForceApplyOCR parameter has been replaced with the ApplyOcrOnPDF. Here is the compatibility between the old and new parameters:
• ForceApplyOCR = True is being replaced by ApplyOcrOnPDF = Yes
• ForceApplyOCR = False is being replaced by ApplyOcrOnPDF = Auto
• ForceApplyOCR = Empty is being replaced by ApplyOcrOnPDF = Auto
• ForceApplyOCR = <user-defined variable> is being replaced by ApplyOcrOnPDF = Auto
- Select the document type for your
template from the Document Type dropdown list.
Note: All Document Types are based on the Taxonomy. Make sure to add or create a taxonomy inside the project's folder.
- Add the name of the template in the Template name field. Choose a relevant name that reflects the version or the layout of your document.
- Add the document's path in the
Template document field.
- Navigate to the file's path by using the Browse button.
- Select an OCR from the OCR Engine dropdown list, and configure it according to its needs.
- Click the Configure button to trigger the template editing.
The Apply OCR on PDF option establishes if the OCR process should be applied or not to PDF documents. Three options are available in the dropdown list: True, False, and Auto.
If set to True, the OCR is applied to all PDF pages of the document. If set to False, only digitally typed text is extracted. The default value is Auto, determining if the document requires to apply the OCR algorithm depending on the input document.
Each OCR engine comes with its own set of custom options. Here you can find more details about all options available for each OCR engine. The default OCR engine is UiPath Document OCR.
If you have already created a template, then it can be edited, exported, or removed.
Delete and Export buttons become available only when at least one template is selected. The Edit and Remove options for an individual template are always available.
Configuring Boolean Field Processing
For documents that include checkboxes, you can add known synonyms for the Yes and No options, or you can start from a list compiled by us (see the Add Recommended suggestions). These values are used for Boolean content interpretation, which is mapping a captured value to a Yes or No reported value.
Exporting and Importing Templates
You can import templates created and exported from other workflows. Use these features to share templates between projects. Once a document type is configured using the Form Extractor, you don't need to reconfigure the templates in a new implementation.
Here are the steps you need to follow to export a template:
- Create one or more templates by following the steps explained at the beginning of this page.
- Select the templates you want to export.
- Select an Export option
(with or without the original files) as shown in the below screenshot. Exporting
with original files attaches them to the export.
- Save the template's archive with the desired name.
- A message is displayed once the
template is saved. Select the OK button.
If you cannot share the content of the documents you have built your templates on, then use the "Without Original Files" option. You are still able to share and import the template archive in other projects, but you cannot edit or view them anymore.
If you want to edit the templates once imported in a different project, make sure to use the "With Original Files" option when exporting and then importing them.
Here are the steps you need to follow to import a template:
- Select the Import button.
- Select an archive. The import
wizard appears and presents all document types and all templates available in
the selected export archive. Select the templates you wish to import and choose
the right Import option (with or without the original files).
- When templates are imported, Document Types are created automatically in the project's Taxonomy. If a Document Type with the same name already exists, another one is created by appending a count to the Document Type name.
- If you are importing templates that have been exported without the original files, or if you choose to import templates without the original files, then you have no view or edit options for those templates.
Special Situations when Importing a Template
When a template is imported, several special situations might occur. The below table explains each situation and its particularities:
New document type
If a new document type is imported, then a new field is added in the wizard configurator, informing you that a new template is to be created.
Duplicate document type
If an identical document type is imported, then the following warning message appears:
If a document type template that includes extra fields than the already existing one, is imported, then the following warning message appears:
Extended document type
If the user imports a document type that includes extra fields than the already existing one, then the following warning message appears:
Document type with identical name but different content
If the user imports a document type that has the same name as the existing one but different fields, then the following warning message appears:
Document type with missing table
If the user imports a document type that doesn't include a table, then the following warning message appears:
Document type with extended table
If the user imports a document type that includes a table with extra columns, then the following warning message appears:
Document type with reduced table
If the user imports a document type that includes a table with missing columns, then the following warning message appears:
Table template with different document types
If the user imports a document type template that includes a table with different document types, then a new template is created.
If your taxonomy includes a table that has a field with a different document type, then the following message appears:
The Template Editor Wizard
The Template Editor is built on top of the functionality present in the Validation Station. Access it by clicking on the button of a template.
To learn about the basic usage of the Validation Station, read this section.
Besides the options available in the right part of the Validation Station screen, there are two options Template Editor specific:
Sets the anchor selection mode
Clears the whole anchor selection
When creating a new template, an explanation text appears when first opening the Template Editor. In case you want to access the text again, follow the steps below:
Anchors can be defined once the Template Editor is opened from the Template Manager and can be found among the Selection Mode options.
When defining or editing a page-level template, although it is optional, the first thing that needs to be performed is the Page 1 Matching Info selection. This step is mandatory only for fixed form templates.
Situated on the left side of the screen, the Page 1 Matching Info selection requires a text input (tokens only are accepted) from the first page of the template that is always in the same position within that particular template layout and forms a unique graph of words (considering relative distances and angles between words) across all the templates defined for a particular document type.
In other words, the Page 1 Matching Info (and all other Page Matching Info fields) are "fingerprints" of a particular page and are extensively used in identifying the right matching template at runtime.
For this reason, for the Page 1 Matching Info field, it is strongly recommended to select 10 to 20 words, preferably longer, spread across the entire page area.
The other Page Matching Info fields (one for each template page) must be filled in only if you are attempting data extraction from that particular page, and do not require cross-template uniqueness anymore. If no fields need to be extracted from a particular page, defining the page-level matching info for that page is not mandatory.
Configuring Simple Fields
For all fields other than Tables, configuring the template consists of selecting a Custom Area and assigning it to a particular field.
For fixed form configurations, data fields can only be configured using Custom Area selections.
For a field you can define one or more such Custom Areas, using the (+) button. If two or more Custom Areas are defined for a single field, then at runtime, if the field is defined in the Taxonomy as Single Value, all values are concatenated into a single reported value. If the field is defined as Multi Value, then each value is reported individually.
The below animation shows the difference between a Tokens and a Custom Area selection:
The icon beside each field indicates the type of supported selection:
If an empty area is selected, the selection is automatically set as Custom area. If text is detected inside the selected area, you are asked to choose the type of the selection between Tokens or Custom area.
Use the Validation Station selection mode feature to lock your selection between Tokens and Custom Areas.
As mentioned above, there are fields where information can be added only by using Tokens (like the Page Matching Info fields) or only by using a Custom Area (like simple fields). For Table fields, you can:
- define each cell one by one, once the Table Editor is expanded - by adding Custom Area selection to each cell individually, or
- use the table markup functionality - by marking the table area, drawing row, and column separators, and then assigning the thus marked table to the field. Make sure that the extracted area has the same number of columns and rows as the template area.
Check out the animation below to learn how to use the table markup functionality:
A distinctive method of defining the bounds of a custom area from which data is to be extracted is to use field-level anchors. These allow for targeting data extraction based on field-level configurations, thus allowing for more flexibility when defining your form extraction rules.
Consequently, at run-time, the Form Extractor knows how to:
- identify if a page-level template matches, and extract information according to the best page-level template match it recognizes;
- identify if any anchor-based settings match, and extract information according to their application in the document to be processed;
- compute appropriate confidence scores for all possible matches, to be able to report the best result (highest probability match) of all available options.
Creating a New Anchor Setting
- Make sure you are in the Anchor Selection mode.
- Draw a box around the value area.
- Select a Label (main anchor) for
your value area by either clicking the first word and then Ctrl+Click the last
word of the selection, or click, drag, and then release to capture a word
Note: A Label can only contain consecutive words from the same visual line.
- Select any additional anchors that would uniquely identify your Label. The same selection principle applies.
- Assign your anchor construct to
the appropriate field by selecting Extract Value for that particular field.
Note: You can also use the example from here to learn how to create a template and define extraction areas and anchors.
Edit an Existing Anchor Setting
- Highlight your anchor setting.
- Make changes to it (delete any anchors, the label, even the value area if you wish, add new elements, etc.).
- Use the Change Extracted
Value option to update your field association.
- If you delete the target area, all anchors get deleted and you start over.
- If you delete the Label (main anchor), the first anchor in the order it was created becomes the new Label.
Delete an Existing Anchor Setting
To delete an anchor setting, you can:
- use the Mark as Missing
options for a saved value
- use the Remove Value in
case of a list of anchors defined for a given field
Mix and Match Configurations
You can define as many templates as you want for the same document type. You can have multiple page-level templates, multiple anchors for the same field, even templates containing both page-level as well as field-level anchors.
- When defining field-level anchors make sure your Label is close to your value area and it is supported by additional anchors if the same text construct can be found in multiple places within the same document.
- The lengthier your labels and anchors are, the more precision you get.
- The value area is always computed based on its relative position against your Label (main anchor). Choose your main anchors accordingly.
- Having field-level anchors allows fields to move within the template and still be captured, offering more flexibility in document layout changes.
Document Understanding Integration
The Form Extractor activity is part of the Document Understanding Solutions. Visit the Document Understanding Guide for more information.