- 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
Using scripts in ABBYY FlexiCapture
This section describes how to use scripts for customizing processing stages and the stations interface in ABBYY FlexiCapture.
Supported scripting languages
ABBYY FlexiCapture supports the following scripting languages: C#.Net, VisualBasic.Net, JScript.Net, JScript®, JScript.Compact and VBScript.
Specifics of scripts written in .Net languages
Specifics of usage
In VBScript it is mandatory to use the keyword "Me" when passing a NULL value (the alternative of "this" in JScript), while in .Net languages the NULL value is passed as an ordinary parameter.
For each script, access permissions for all its parameters are originally known. Access permissions determine the subset of methods that are available from scripts. When addressing the object methods, permissions for returned objects are always inherited from the source object (exceptions from this rule are described in comments to the corresponding methods).
Note: Script objects cannot be used after completion of the script because of indeterminate object behavior.
Note: For debugging scripts written in ABBYY FlexiCapture script editor, the MessageBox method can be used.
Custom functions
The script editor allows users to create their own functions and procedures and then to call them from the code of scripts.
Custom functions and procedures should be written to the global module, which can be accessed from the Script Editor. For this, from the drop-down list on the toolbar of the script editor, select an available global module: Rule Global Script Module, Export Global Script Module, Events or NonInteractiveProcessor.
All functions within one module must be written in the same language. The core code of a script can be written in a language different from that used in the corresponding global module.
Global functions written in JScript®, JScript.Compact and VBScript scripting languages can be called from scripts also written in one of these languages. For example, from the code of a rule written in VBScript you can call a function contained in the global module that is written in JScript.
Global functions written in .Net languages can be called from scripts which are written in one of .Net languages (C#.Net, VisualBasic.Net or JScript.Net).
To call a function from its global module, a corresponding prefix (Rules, Export, Events or NonInteractiveProcessor) must be used. For example, the function DoSomething from the Rule Global Script Module module must be called as follows: Rules.DoSomething ().
Note: For scripts written in .Net languages, functions from global modules are called by their names without using prefixes.
Note: You cannot use RTL languages for text constants in the script editor. If you need to add RTL text into your script, use one of the following workarounds:
- Place your RTL text into a user script message or an environment variable.
- Use an external assembly for your project or Document Definition (for more information, see External assemblies).
Script execution timeout
The default timeouts are 30 seconds for export and 10 seconds for other scripts.
To change the default timeouts, specify the following value in the registry:
HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\DefaultScriptTimeout
The value of a timeout in the registry is specified in milliseconds. If a script takes longer to execute than the specified timeout, it will be terminated and an error message will be returned "Script execution timeout". If the script is a part of import, recognition or export task, a similar error message will be recorded in the log.
Important! Script execution timeout applies for scripts written in JScript and VBScript only.
Important! To change timeouts for scripts executed under the NetworkService, you need to modify the registry branch for the corresponding user profile.
Object model
The object model is compatible with scripts created in earlier versions of ABBYY FlexiCapture.
3/2/2021 8:10:42 AM