- Overview
- Document Processing Contracts
- Release notes
- 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
- ContentValidationData Class
- EvaluatedBusinessRulesForFieldValue Class
- EvaluatedBusinessRuleDetails Class
- ExtractorAsyncCodeActivity Class
- ExtractorCodeActivity Class
- ExtractorDocumentType Class
- ExtractorDocumentTypeCapabilities Class
- ExtractorFieldCapability Class
- ExtractorNativeActivity Class
- ExtractorResult Class
- FieldValue Class
- FieldValueResult 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
- Rule Class
- RuleResult Class
- RuleSet Class
- RuleSetResult Class
- 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
- FieldValueDetails Class
- 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
- BasicDataPoint Class
- BasicValue Class
- ComponentCollectionFacade Class
- DataPointFacadeBase Class
- ExtractionResultHandler Class
- FieldGroupDataPoint Class
- FieldGroupValue Class
- FieldLookupBase Class
- ResultsValueFacadeBase Class
- TableDataPoint Class
- TableRow Class
- TableValue Class
- WildcardDataPoint Class
- WildcardDataPointCollection Class
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding
- Release notes
- About the Document Understanding activity package
- Project compatibility
- Configuring external connection
- 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
- Release notes
- About the IntelligentOCR activity package
- Project compatibility
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Document Understanding Project Classifier
- Intelligent Keyword Classifier
- Create Document Classification Action
- Create Document Validation Artifacts
- Retrieve Document Validation Artifacts
- Wait For Document Classification Action And Resume
- Train Classifiers Scope
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- Document Understanding Project Extractor
- Document Understanding Project Extractor Trainer
- RegEx Based Extractor
- Form Extractor
- Intelligent Form Extractor
- Redact Document
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Export Extraction Results
- Machine Learning Extractor
- Machine Learning Extractor Trainer
- Machine Learning Classifier
- Machine Learning Classifier Trainer
- Generative Classifier
- Generative Extractor
- Configuring Authentication
- 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
ExtractionResultHandler entry point of the V1 navigator, with the constructor, factory and conversion methods, and the field navigation members it inherits.
Definition
- Namespace:
UiPath.DocumentProcessing.Contracts.Extensions.Navigator.V1 - Assembly:
UiPath.DocumentProcessing.Contracts - Inherits: ComponentCollectionFacade
Description
ExtractionResultHandler is the entry point of the V1 navigator. It provides a fluent, strongly-typed way to navigate and edit the fields of an ExtractionResult without manually casting raw ResultsDataPoint and ResultsValue objects.
A handler is created from an ExtractionResult and wraps the field collection at ExtractionResult.ResultsDocument.Fields. The inherited navigation methods then reach each field as a typed facade:
- Basic fields as BasicDataPoint and BasicValue.
- Tables as TableDataPoint, TableValue, and TableRow.
- Field groups as FieldGroupDataPoint and FieldGroupValue.
- Fields of unknown type as WildcardDataPoint.
Because the handler inherits from ComponentCollectionFacade, the navigation methods listed under Inherited members are available directly on the handler.
Members
Constructors
| Constructor | Description |
|---|---|
ExtractionResultHandler(ExtractionResult extractionResult) | Initializes a new navigator over the fields of the specified extraction result (ResultsDocument.Fields). |
Factory and conversion methods
All methods in this section are static.
| Method | Returns | Description |
|---|---|---|
FromExtractionResult(ExtractionResult extractionResult) | ExtractionResultHandler | Creates a navigator from an extraction result. |
FromTable(ResultsDataPoint tableDataPoint) | TableDataPoint | Wraps a table data point in a table facade. |
FromFieldGroup(ResultsDataPoint fieldGroupDataPoint) | FieldGroupDataPoint | Wraps a field group data point in a field group facade. |
FromBasicDataPoint(ResultsDataPoint basicDataPoint) | BasicDataPoint | Wraps a basic data point in a basic field facade. |
FromDataPoint(ResultsDataPoint dataPoint) | WildcardDataPoint | Wraps any data point in a wildcard facade. |
FromFieldGroupValue(ResultsValue resultsValue) | FieldGroupValue | Wraps a field group value in a field group value facade. |
FromTableValue(ResultsValue tableValue) | TableValue | Wraps a table value in a table value facade. |
FromTableRow(ResultsValue tableRow) | TableRow | Wraps a table row value in a table row facade. |
FromBasicValue(ResultsValue basicValue) | BasicValue | Wraps a basic value in a basic value facade. |
Inherited members
The following methods are inherited from ComponentCollectionFacade and are available directly on ExtractionResultHandler. The fieldLookup and tableLookup parameters follow the field lookup resolution rules in FieldLookupBase.
| Method | Returns | Description |
|---|---|---|
GetFields(Func<ResultsDataPoint, bool> condition = null, bool recursive = false) | WildcardDataPointCollection | Returns the fields matching condition, or all fields when condition is null. When recursive is true, nested fields are included. |
GetSimpleFields() | BasicDataPoint[] | Returns all basic (non-complex) fields. |
GetSimpleField(string fieldLookup) | BasicDataPoint | Returns the basic field matching the lookup. |
GetTables() | TableDataPoint[] | Returns all table fields. |
GetTable(string tableLookup) | TableDataPoint | Returns the table field matching the lookup. |
GetTableValue(string tableLookup) | TableValue | Returns the value of the table field matching the lookup. |
GetFieldGroups() | FieldGroupDataPoint[] | Returns all field group fields. |
GetFieldGroup(string fieldLookup) | FieldGroupDataPoint | Returns the field group field matching the lookup. |
GetFieldGroupValue(string fieldLookup, int index) | FieldGroupValue | Returns the field group instance at index for the field matching the lookup. |
Examples
When the Generate Data Type property of the Extract Document Data activity is off, you can obtain a handler directly from the activity output through the Handler property: var handler = DocumentData.Data.Handler;.
The following example creates a handler from an ExtractionResult and uses the navigation methods to read date values, a field group instance, and one of its child fields.
using UiPath.DocumentProcessing.Contracts.Taxonomy;
using UiPath.DocumentProcessing.Contracts.Extensions.Navigator.V1;
// Create a navigator over the fields of an extraction result.
var handler = new ExtractionResultHandler(extractionResult);
// Get all date values across the document (recursive to include nested fields).
foreach (var dateField in handler.GetFields(dp => dp.FieldType == FieldType.Date, recursive: true).BasicFields)
{
foreach (var dateValue in dateField.Values)
{
Console.WriteLine($"{dateField.FieldName}: {dateValue.Value}");
}
}
// Get the 3rd instance of the "ShippingDetails" field group (index is zero-based).
var shippingInstance = handler.GetFieldGroupValue("ShippingDetails", 2);
// From that instance, read a child field value.
var city = shippingInstance.GetSimpleField("City");
string cityText = city?.Value?.Value;
using UiPath.DocumentProcessing.Contracts.Taxonomy;
using UiPath.DocumentProcessing.Contracts.Extensions.Navigator.V1;
// Create a navigator over the fields of an extraction result.
var handler = new ExtractionResultHandler(extractionResult);
// Get all date values across the document (recursive to include nested fields).
foreach (var dateField in handler.GetFields(dp => dp.FieldType == FieldType.Date, recursive: true).BasicFields)
{
foreach (var dateValue in dateField.Values)
{
Console.WriteLine($"{dateField.FieldName}: {dateValue.Value}");
}
}
// Get the 3rd instance of the "ShippingDetails" field group (index is zero-based).
var shippingInstance = handler.GetFieldGroupValue("ShippingDetails", 2);
// From that instance, read a child field value.
var city = shippingInstance.GetSimpleField("City");
string cityText = city?.Value?.Value;