- Introducing ABBYY FlexiCapture
- Installing and running the program
- ABBYY FlexiCapture architecture
-
Program settings
- ABBYY FlexiCapture Setup
- Multitenancy
- Creating a project
-
Document Definitions
- Creating fixed Document Definitions
- Creating Document Definitions for semi-structured documents
- Document Definitions without automatic fields extraction
- Document sets
-
Document Definition fields
- Text entry fields
- Checkmarks
- Checkmark groups
- Barcodes
- Pictures
- Tables
- Field group
- Service fields
- Index fields
- Link to an existing field
- Fields without a region
- Creating a field with a non-rectangular region
- Fields with several instances
- Fields with several regions
- How to change a field name
- Copying, moving, deleting fields
- Exclusion of a region from recognition
- Document Definition Wizard
- Editing and publishing a Document Definition
- Creating Document Definitions
- Document Definition properties
- Properties of a Document Definition section
- Rule validation
- Export settings
- Configuring data presentation in the document window
- Testing Document Definitions
- Localizing a Document Definition
- Classification
- Field extraction training
- Operating a configured project
-
ABBYY FlexiCapture for Invoices
- Features of ABBYY FlexiCapture for Invoices
- How to capture invoices
-
How to set up an invoice capture project
- Country and language settings
- Connecting vendor and business unit databases
- Data export settings
- The status of documents in ABBYY FlexiCapture for Invoices projects
- Training ABBYY FlexiCapture for Invoices
- Rules
- Capturing additional invoice fields
- Purchase Order Matching
- Enabling additional program features for operators
- Using multiple Document Definitions
- Editing invoice processing settings in XML files
- Updating the Document Definition for invoices
- Tax systems
- Specifications
- Capturing receipts
- Capturing purchase orders
- Using NLP to process unstructured documents
- ABBYY FlexiCapture interface
-
Appendix
-
Using scripts in ABBYY FlexiCapture
- Specifics of scripts written in .Net languages
- External assemblies
- Object model
-
Scripts for customizing processing stages
-
Types of scripts
- Script rule
- Autocorrection script
- Export script
- User script (custom action)
- Document assembly script
- Custom recognition script
- Stage rule
- Processing scripts
- Data set update script
- Data set validation scripts
- Document classification script
-
Event handlers
- Batch created
- Batch deleted
- Batch parameter change
- Batch structure change (page added/page deleted/document added/document deleted)
- Pages moved
- Batch opened/closed
- Batch integrity check
- Document parameter changed
- Document state changed
- Export completed
- Script that is run after rule checks
- Before matching
- Field verification request
-
Objects
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- Sample scripts
- Internal names of recognition languages
-
Types of scripts
-
Scripts for processing interface events
-
Event handlers
- On Document Closed
- On Project Closed
- On Activate Document
- On Field Control Activate
- On Return From Task
- On User Command
- On Field Control Deactivate
- On Closing Document
- On Task Close
- On Closing Project
- On Region Change
- On Task Window Mode Changed
- On Open Document
- On Task Window Create
- On Task Reject
- On Region Control Draw
- On Task Send To Stage
- On Text Field Validating
-
Objects
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
-
Event handlers
- User scripts for the Web Verification Station
- Creating a machine-readable form
- Hot keys
- Additional options
- Description of Processing Server commands
- ABBYY FlexiCapture sample projects
- Supported recognition languages
- Supported classifier languages
- Fonts for correct characters rendering
- Supported text types
- Supported barcode types
- Supported input formats
- Processing PDF files
- Export file formats
- Date formats
- Alphabet used in regular expressions
- Patents
- Third-party technologies
- Glossary
- Technical support
- How to buy ABBYY FlexiCapture
- End-User License Agreement (EULA)
-
Using scripts in ABBYY FlexiCapture
Training by users with project setup permissions
Training can be done when setting up a project. In this case, the Administrator trains the program using some training batches during project setup. Later, documents corrected by processing operators will be put into these training batches.
If documents are recognized with too many errors and training by operators does not solve the issue, the administrator can make the necessary adjustments to the training batches and retrain the project. The administrator can also lock specific batches to prevent them from being modified by processing operators. To lock a training batch used for a specific vendor, the administrator needs to right-click the batch and then click Lock Training by Operators on the shortcut menu.
Training is only available if ABBYY FlexiCapture can reliably identify the vendor by finding the corresponding record in a vendor database.
If you have no vendor databases but still want to use field training, you can accumulate company information by adding records to your data sets while capturing invoices. For more information, see Looking up vendors and business units in the database.
Note: The actions described in this section can only be performed by the Administrator or by users who have the permissions to set up projects in ABBYY FlexiCapture for Invoices.
The training batch view displays all the document images that will be used for training. To switch to the training batch view, click (Open Field Extraction Training Batches) on the toolbar. Alternatively, click Field Training → Open Field Extraction Training Batches.
The program will display a list of training batches for all the invoice variants that have been added by the operators. For convenience, important vendor parameters are displayed in this view, including VATIDs, IBANs, and database vendor IDs.
You can manage Document Variants in this view. You can:
Manage sample images that are used for training FlexiLayout Variants
Double-click a training batch or right-click a training batch and then click Open on the shortcut menu. A list of sample images used for the corresponding FlexiLayout Variant will be displayed.
Each sample image may be in one of the following three states:
- Unused - This sample image is not used for training or testing this FlexiLayout Variant.
- For training - This sample image is used for training and testing this FlexiLayout Variant.
- For testing - This sample image is used only for testing this FlexiLayout Variant.
In this view, you need only one sample image to start training a FlexiLayout Variant. However, we recommend having at least three sample images in For training state.
If there is not enough sample images for training, load more images by clicking Load Images.... By default, any newly added images will be marked as For training.
If the images you add are not recognized automatically, force-start the recognition process by clicking Recognize.
- Change the state of the images that you wish to use to For training. To change the state, select the images you need, right-click them, and then select Set Document State → For training. We recommend changing the state of all the sample images to For training if you have not trained this Document Variant before.
- Check the markup of the all regions and make any adjustments as may be necessary. This is important, because the positions of all the regions will be taken into account.
- Start training the FlexiLayout Variant. Either
- Select Fields Training → Train from the main menu, or
- Right-click anywhere in the list and select Train from the shortcut menu, or
- Switch into the training batch view and select Train from the shortcut menu of the Document Variant.
Training progress will be indicated in the Train Document Definition window. As a result of this training, a FlexiLayout Variant will be created. Next, the FlexiLayout Variant will be tested on all documents marked For training and For testing. The program will apply the FlexiLayout to each sample image (the user will not see this process) and compare the result with the reference layout (i.e. the layout created manually by the user). Then the quality of matching will be established.
If the new FlexiLayout Variant produces a better quality than the previous version of this FlexiLayout Variant and the Main FlexiLayout, the new FlexiLayout Variant will be saved and used for subsequent data capture.
If you think that some of the sample images adversely affect the training but you still want to use them for testing, change their state to For testing.
Make sure than at the time of training the regions of all fields on these sample images are located correctly. The testing process itself will not be visible to the user.
Export a FlexiLayout Variant to FlexiLayout Studio for manual fine-tuning
Right-click a desired Document Variant and select Export Trained FlexiLayout... from the shortcut menu.
You may need to do this if you can't achieve the desired results by just adding or removing sample images.
Import a FlexiLayout Variant from FlexiLayout Studio
Right-click a desired Document Variant and select Import FlexiLayout... from the shortcut menu.
You may need to do this if you have a FlexiLayout that has been created manually in FlexiLayout Studio for the Document Variant.
Forbid further training on invoices from a specific vendor
Right-click a desired Document Variant and select Lock Training by Operators from the shortcut menu.
You may need to do this if the FlexiLayout for the Document Variant has already been trained (or created manually) and no further training will be necessary during invoice processing.
Forbid using training results when processing invoices from a specific vendor
Right-click a desired Document Variant and select Disabled from the shortcut menu.
Select this option if you only want the Main FlexiLayout to be used when processing invoices from the Document Variant's vendor.
Create a new training batch
You may want to create a new training batch if you want to train a FlexiLayout variant before Operators start capturing invoices.
- Right-click an empty field in the training batch view and click New Batch... on the shortcut menu.
After the training batch has been created, choose its associated Document Definition (if your project uses multiple Document Definitions) and the vendor for whose invoices the training results will be used.
- If there is more than one Document Definition in your project, select the desired Document Definition in the Select Document Definition dialog box (right-click the batch and click Change Document Definition... on the shortcut menu).
- Choose a Vendor for the training batch in the Look up Training Batch Vendor dialog box (right-click the batch and click Change Vendor... on the shortcut menu).
The list of batches in the training batch view includes the VendorID and Document Definition columns. The values in these columns determine the Document Definitions and Vendors of training batches.
Note: It is important to recognize documents in a batch using only the Document Definition assigned to the batch.
To change the vendor or Document Definition of a training batch, right-click it and click Change Vendor... or Change Document Definition... on the shortcut menu.
The Clear Document Definition shortcut menu command unassigns the Document Definition of a batch. A batch without a Document Definition cannot be used for training.
- Add documents to the training batch (you can do this in several ways, such as using the Load Images... shortcut menu command. New documents will be automatically recognized.
- Check whether field regions were detected correctly and adjust them if necessary.
- Select the documents you want to use for training the FlexiLayout variant, right-click one of them and click Set Document State → For training.
- Start training the FlexiLayout variant. There are several ways to do this:
- In the main window, open the Fields Training menu and click Train;
- Right-click an empty spot in the list and click Train on the shortcut menu.
- Open the training batch view, right-click a FlexiLayout variant and click Train on the shortcut menu.
Note: Disable the Use own recognition settings of FlexiLayout option to synchronize settings of the full-text recognition of trained batch alternatives and Document Definitions. This will let you use unified settings and process documents faster.
If you wish to import into your training batch a modified or a completely new FlexiLayout to be used for one specific vendor, complete the following steps:
- In ABBYY FlexiLayout Studio, click File → Export... and in the Export FlexiLayout dialog box that opens, specify the name of the file and the folder where it should be placed.
- In ABBYY FlexiCapture, click Train Field Extraction → Import FlexiLayout...
If you are also using the clustering feature, please note the following limitations:
- If you are creating a new FlexiLayout manually, make sure that it covers all the possible document variants originating from the given vendor — you cannot manually create a FlexiLayout for one cluster only.
- Only a FlexiLayout for the main invoice fields will be exported. No FlexiLayout can be generated and exported for line item fields, as this type of field uses a separate machine learning algorithm, whose results cannot be exported or modified. However, you can still create a FlexiLayout for line item fields manually.
- If the clustering feature is enabled, only the FlexiLayout trained for the first cluster will be exported.
- After you import a new or modified FlexiLayout into your training batch:
- There will be no training while processing documents.
- Clustering will be disabled for this batch.
- The imported FlexiLayout will be used for processing all documents from this vendor, regardless of their cluster.
For details, see Training with clustering.
02.03.2021 8:10:42