About ABBYY FlexiCapture 10

ABBYY FlexiCapture 10 is a software solution for the automatic input of data from hardcopy documents into information systems and databases.

Employing advanced technologies of typed and handprinted character recognition, image processing and document analysis, ABBYY FlexiCapture 10 offers convenient automated extraction of meaningful information from all kinds of documents that are processed in a single flow – structured (fixed) forms, semi-structured (flexible forms and documents) and free-format unstructured documents. ABBYY FlexiCapture 10 prevents the need for labor-intensive and inefficient processing involved in having to sort and reprint information from documents manually.

The basic document processing scenario is as follows:

  1. Documents are placed in the automatic scanner feeder and scanning begins.
  2. Scanned document images are submitted for recognition, at which point the software automatically identifies documents, including multipage documents, locates meaningful fields, extracts data and loads check rules.
  3. If necessary, recognition is followed by visual verification of data and rule error checking.
  4. Recognized and verified data along with electronic copies of documents are saved to a database, an information system, or a file.


New Features of ABBYY FlexiCapture 10

New features of ABBYY FlexiCapture 10 not available in ABBYY FlexiCapture 9.0

Architecture

Fault tolerance

The processing will continue on other server if one server shuts down. Work on the cluster system was implemented.

Project management

Test project

It is possible to make a test copy of a project, check that everything works correctly and apply changes to working project.
Projects

Workflow organization

Rescanning of documents and pages

The operator is able to send documents or pages to Rescanning stage from Verification or Exceptions queue as well as a whole batch.
Sending task to groups of user

The task can be sent to specified user. Now it is also possible to send a task to a specific group of users that have corresponding role. Processing roles for groups can be specified on the Administration and Monitoring Console for a particular batch type.

Import and image processing

Import images from e-mail and via FTP

Images can be added from e-mail inbox, including attachments. Both MAPI and POP3 protocols are supported. When using the MAPI protocol processing stations should be started under the same account as e-mail box owner. Also images can be downloaded from an FTP-server.
Import profiles

Verification

Double verification

The administrator marks fields that require double verification in the Document Definition Editor. For these fields two verification results will be stored independently within the document.
Field verification properties

Distributed verification

The administrator can restrict the set of fields that require verification. Verification operator will have access to the fields from the set only.
Distributed verification

Field verification for groups of checkmarks

Groups of checkmarks for which only one choice is allowed will be sent to field verification in case more than one option is checked. The data verification operator will be able to correct the choice.

Remote Verification Station

Verification Station can be used remotely (like Data Verification and Scanning Stations). Possibility to access the Station via basic authentication was implemented. In some cases it works faster than pass-through authentication even in LAN.

Data Verification Web UI

Data Verification station has Web UI. To start the station it is necessary to click the following link: http://<FCServer>/DataVerification/ where <FCServer> is the name or IP address of the Application Server.

Scanning Web UI

Scanning station has Web UI. To start the station it is necessary to click the following link: http://<FCServer>/Scanning/ where <FCServer> is the name or IP address of the Application Server.

Web Capture station

Web Capture station has been added. To start the station it is necessary to click the following link: http://<FCServer>/Capture/ where <FCServer> is the name or IP address of the Application Server.

Export

Postponed deletion of documents

It is possible to set the time period after export when the documents should be deleted.
Export settings

Customization

Verification interface customization

There are special tools that allow customizing the Verification Station interface. All changes should be made for a custom stage.
Skin settings

Customized routing of documents

Custom stages can be added in Workflow. The stage can be automatic (e.g. image enhancement stage, classification stage) or it may require operator’s interaction (e.g. barcode validation stage, additional rules validation stage).

In the workflow stage properties for both default and custom stages it will be possible to set inbound rules (that control which documents are allowed to this stage) and outbound rules (that define where documents should be routed next depending on their properties such as field values, registration parameter values, number of uncertain characters, errors occurred, etc). Rules can be either simple (selected from the list of predefined options) or scripted.
Workflow stages
Stage settings

Scripts

Various scripts were implemented, such as recognition script, event handlers etc.

Using scripts in ABBYY FlexiCapture 10
Custom hot keys

A possibility of specifying shortcuts by the user was added. A user is able to change default hot keys on stations.

Customizing hot keys
New features of ABBYY FlexiCapture 9.0 not available in ABBYY FlexiCapture 8.0

Architecture

Distributed installation

ABBYY FlexiCapture 9.0 supports distributed installation and operation. The distributed installation implemented in ABBYY FlexiCapture 9.0 is similar to FormReader 6.5 Enterprise Edition, with some modifications to make the system more flexible, scalable, and reliable. The Scanning Station and the Data Verification Station can now be used remotely via the Internet.

ABBYY FlexiCapture architecture and basic principles
Workflow
ABBYY FlexiCapture servers
ABBYY FlexiCapture stations
Application Server API

The API provided for the Application Server allows you to control the processing programmatically without resorting to the GUI. The API enables third-party developers to create their own applications that use ABBYY FlexiCapture 9.0 as a document image analysis service as well as to export the processing results.

Project management

Batch types

A type may be specified for each batch (if no type is specified, a "default" type is assigned). A project may contain any number of batch types. A batch types defines image processing and recognition options, batch integrity checks, default export settings, and how the batches that belong to this type should be processed. Project settings are used for batches of the "default" type.
Document batches

Registration parameters

It is now possible to specify the registration parameters describing batches or documents. These parameters can be later used for image and data export.

Registration Parameters
Priorities

Priorities for documents and batches can now be specified to control processing order.

Analysis and recognition

The order in which Document Definitions are matched

Now you can control the order in which Document Definitions are matched. The following methods can be used to specify the order of matching:

  • Explicitly define the order of Document Definitions in the Document Definitions dialog box
  • For FlexiLayouts: use a classifier to select the required Document Definition
  • For FlexiLayouts: in the Document Definitions dialog box, specify how the appropriate FlexiLayout should be selected
Editing and publishing a Document Definition
Classifier
Updating the version of a Document Definition without re-recognizing it

Now you can update the version of your Document Definition without re-recognizing it. This is possible if on of the following conditions is met:

  • If only the export settings have been changed, in which case the document will be exported using the new settings
  • If the rules have changed, in which case rule validation will be carried out once again

Verification and validation

Verification and validation tasks can now be gotten automatically
Images can be viewed during group and field verification
Files and databases can be used as data sources for rule validation
The database check rule can be disabled for empty fields
Sum calculation rule was added
Recognition reliability level is indicated for the entire batch
Group and field verification settings were added, including the possibility of configuring certainty requirements for specific characters
The initial position of the cursor can be specified for field verification
Entire fields can be optionally highlighted during field verification (useful if the user wants to key in the entire field)
Each type of error is displayed separately. The following types of error are detected:
  • assembly errors
  • format errors
  • rule errors
Verification of recognized data

Export

Auto export

Documents with high recognition quality and without rule or format errors are now exported automatically without user intervention. The required percentage of uncertain characters is specified when setting up the project.
Workflow

Export to multiple destinations

Data and images can be exported to multiple destinations. Some destinations may be marked as critical. If export to a critical destination fails, an error message is displayed. Failure to export to a non-critical destination does not result in an overall export error.
Configuring data export

Setting up file names and locations

Naming templates for files used to store exported data and images, as well as their paths, can be configured with more possibilities. Among the additions is the possibility to recreate folder structure during export from a Hot Folder.
Export File Naming Scheme

Archiving documents with errors

Documents with format or rule errors can be saved in a dedicated storage location. Export of documents with errors is set up in the same manner as export of regular documents.
Configuring data export

Auto delete documents upon export

Exported documents can be deleted if the export has completed successfully. The option to delete the documents manually has been preserved.
Workflow

Maintaining confidentiality

Individual fields on document images can now be redacted (i.e. edited out). For each export, different redaction rules can be specified, thus managing the amount of information visible to different users.
Configuring data export

Options

Batch integrity checks

Scripts can be used to check batches for integrity. Scripts are launched automatically prior to export.
Document batches
Sample scripts for creating custom rules

Normalization scripts

Scripts can be used to correct the information extracted from fields.
Processing entered values
Sample scripts for creating custom rules

Auto processing

Documents can be processed automatically without operator intervention. Documents that have been processed successfully are exported, and document images on which errors have occurred can be saved for future analysis.

Workflow setup
Custom scripts

A script triggered by the Verification Operator can be specified for each field.

Custom action
Service fields

A new field type was added - service field. Fields of this type are filled in automatically using the data from the selected source.

Service fields

Supported languages

New OCR languages

OCR support for the following for the following languages has been added:

  • Vietnamese
  • Chinese
  • Korean
  • Japanese


Types of document processed using ABBYY FlexiCapture 10

ABBYY FlexiCapture 10 is software solution for single-flow data capture from documents of various types.

Various documents can be processed in a single flow. You can also set up the program to process documents of mixed type, e.g. documents that contain both structured and semi-structured sections. The type of documents affects system configuration only, namely the method of creating Document Definitions. The nature of the operator's work is not affected by the type of documents processed.

ABBYY FlexiCapture can be configured for automated input of the following documents, including in a single flow:

Structured – fixed forms;
Structured forms are documents containing a set of marked information fields whose formatting, number and layout does not change from one document instance to the next. Such documents are called fixed forms. For example, most questionnaires and application forms are fixed forms. Such forms are usually distributed as blank forms and filled out by hand.

To identify a fixed form in a document flow and to extract data from it, you need to create a single fixed layout that will tell the program the location of the fields containing data to be extracted.

Fixed forms created to meet the requirements of automatic input can be processed most effectively. Such forms are called machine-readable forms. To learn more about the requirements for such forms and the methods of creating them, see the section Creating machine-readable forms.

The program includes a convenient tool for designing machine-readable forms – ABBYY FormDesigner 10 (supplied together with ABBYY FlexiCapture 10). You can read about designing forms with the help of ABBYY FormDesigner 10 in the User Guide and help topics.

The basic stages of creating a Document Definition are described specifically for structured documents.
Semi-structured – flexible forms and documents;
These are documents containing a set of information fields whose design, number and layout may vary significantly in different instances of the document. These documents are called flexible. For example, bills are flexible documents, since they often vary both in terms of the number of items and their formatting, due to the fact that they are received from different companies. All bills have a bill number and an amount due for payment, but are located in different places.

To identify flexible forms and to extract data from them, ABBYY FlexiCapture 10 uses a flexible layout (FlexiLayout). A flexible layout is created with the help of a special module called ABBYY FlexiLayout Studio. Details of this module are available in the User Guide and help topics.

The processing of flexible documents differs from the processing of fixed forms only at the stage of creating and loading a layout. For details see Creating a Document Definition for processing flexible documents.
Unstructured documents with free-style design.
ABBYY FlexiCapture 10 can be used to process unstructured documents containing information presented in a free style, for example contracts, letters, orders, and graphs. The program can automatically identify unstructured documents as annexes to fixed or flexible forms, or it can identify them with the help of a flexible layout and then export them as PDF searchable files or as graphic files. You can extract index fields from unstructured documents both automatically with the help of a flexible layout and by way of manual input.

A typical scenario for the processing of unstructured documents is when a hardcopy archive needs to be converted into electronic form and there is a requirement to extract two or three index fields in order to organize a quick attribute-based search.

For details see Processing unstructured documents.


Brief description of document processing using ABBYY FlexiCapture 10

This section provides a general overview of how to process documents using ABBYY FlexiCapture 10.

The process of using the program is described in more detail in the sections Configuring the program and Operations with a configured project.

Overview of program configuration for document processing
Overview of operations with a configured program


Brief description of program settings for document processing

The administrator configures the program for processing certain types of document. To prepare the program for document processing, you need to create:

  1. A project

    A project contains all of the settings for processing a certain type of document: image import profiles, Document Definitions, and document batches for processing.

  2. One or several Document Definitions

    Creating a Document Definition is the most critical stage in configuring a project. If you plan to process various types of documents in a single flow, you need to create several Document Definitions as part of a single project.

  3. Image import profiles

    Import profiles are created for convenience and to streamline the work of operators. If import profiles are not configured, each time you add images you have to select the import source and configure settings. Import profiles allow you to add images at the click of a button and to switch easily between import sources.

  4. A document batch

    Documents submitted for processing are added to batches. The principle of assigning documents to batches is user-defined: you can process all documents in a single batch or form batches from documents added on the same date or from a batch scanned in a single pass. If you add images for which there are no batches, a batch will be created automatically.

Read more about configuring the program


Distributed work

ABBYY FlexiCapture 10 (Distributed Installation) is a distributed client/server data capture system.

ABBYY FlexiCapture 10 (Distributed Installation) includes several stations and servers. Each station is responsible for certain processing routines. The servers ensure the operation of the entire complex, connect the stations, and distribute workload among the stations. Before documents can be processed, the servers must be set up.

A brief overview of the components follows:

  • Administration and Monitoring Console

    After you install the system, you must establish a database connection and grant appropriate rights to the operators. This is done in the Administration and Monitoring Console by the operator that has Administrator rights.

    The Administration and Monitoring Console is a Web interface that controls the Application Server. The console can be accessed from any computer connected to the Application Server at http:\\<ApplicationServer>\FlexiCapture10, where <ApplicationServer> is the name of the computer on which the Application server is installed.

    While processing documents, the console can be used to obtain statistics and generate reports.

  • Project Setup Station

    The next step is to create and set up a project. For this purpose, the operator of the station creates Document Definitions, batch types, and define the order of processing. Once the system is set up, the project is uploaded to the Application Server and document processing can start.

  • Scanning Station

    The Scanning Station may be the first station where the documents to be processed arrive. The operator of this station creates batches and adds document images into them. If required, the added images may be edited. Then the batch is sent on to ABBYY FlexiCapture for further processing.

    The use of a Scanning Station is not required when images to be processed arrive from a Hot Folder.

  • Processing Station

    The Processing Station runs unattended and performs the following operations: getting images from Hot Folders, applying Document Definitions and recognizing documents, rule validation, and exporting the results to user-defined destinations.

  • Data Verification Station

    The purpose of this station is to check the captured data. The operator of the station first reviews the unreliably recognized characters in group view and then in field view. Then the batch is sent on to the Verification Station. In the event of a processing error, the operator of the Data Verification Station may send the batch or documents to the exceptions queue, where they are processed by the Senior Verification Operator.

  • Verification Station

    This station performs more complex checks than the Data Verification Station. Besides data checks, the station can process problem batches or documents, correct assembly errors, check rules, and check batch integrity.

  • Processing Server

    The Processing Server distributes the workload among the Processing Stations. Together with the server, a Processing Server Monitor is installed, which is used to monitor the operation of the server and to set task priorities.

  • Application Server

    The Application Server connects the stations together and ensures their operation. Before installing the server, make sure that all the components required for the normal operation of the server are installed.

  • Database Server

    The Database Server stores the data required for processing operations: information about the operators, batches, events, etc. For demo projects, you can use Microsoft SQL Server Express Edition. For other projects, the use of the full version of Microsoft SQL Server and File Storage Folder is recommended.

  • File Storage Folder

    The project files can be stored either in a database or in a separate File Storage Folder, which is a regular folder located o the computer where the Application Server is installed. A File Storage Folder can be set up in the Administration and Monitoring Console.

  • Protection Server

    A protection key is required for the normal operation of the system. ABBYY FlexiCapture 10 License Manager is an application for managing protection keys

Installing ABBYY FlexiCapture 10 stations
Processing Server and stations setup
ABBYY FlexiCapture 10 architecture and basic principles
Application Server setup


Creating a project

To process different documents as part of a single project, the project must have several Document Definitions. If document flows do not intersect and their processing settings differ considerably, you can create separate projects for them.

To start, you first need to create at least one project.

To create a new project, start the Project Setup station and select File>New Project…

Read more about creating a project


Overview of creating a Document Definition

Creating a Document Definition is the most critical part of configuring a project and determines the quality of data obtained after processing.

A Document Definition describes the location of document elements and indicates fields to be used in data extraction.

To create a Document Definition, run the Document Definition Wizard:

  1. In the Project Setup Station main window, select Project>Document Definitions…
  2. In the Document Definitions dialog box, click the New… button.
  3. Follow the instructions of the Document Definition Wizard.

The main stages of Document Definition creation depend on the type of documents being processed.

The main stages of creating a Document Definition for fixed forms
  1. Create a new Document Definition with the help of the Document Definition Wizard. With the Wizard running, open the document page image that will be used to perform Document Definition marking.
  2. Mark static elements – anchors and identifiers, configuring their properties. Static elements are used for Document Definition matching and identification. Normally, static elements are detected automatically and assigned default properties.
  3. Mark fields on the image. Fields are used for data extraction.
  4. Configure field properties. Field properties both affect the quality of recognition and determine whether field values will be exported and submitted for verification by the operator. They specify the types of data and range of values of a field.
  5. Create Document Definitions for multipage documents: adding pages and repeating all stages for each page.
  6. Configure data export.
  7. If required, you can configure the way data is displayed in the document window, checked against rules, etc.
  8. Test a Document Definition using images of several documents.

Note: If you have created machine-readable forms with ABBYY FormDesigner, instead of the first three stages you only need to import a file with the *.xfd extension. A page image with ready marking will open (or images of several pages if you used ABBYY FormDesigner to create a multipage form). For details see Importing a Document Definition for forms created with ABBYY FormDesigner.

Main stages of creating a Document Definition for flexible documents
  1. Create a flexible description (a file with the *.afl extension) using ABBYY FlexiLayout Studio. For details, see the Help Topics of ABBYY FlexiLayout Studio.
  2. Create a new Document Definition with the help of the Document Definition Wizard. With the Wizard running, open an image of a document page and attach a flexible description (the *.afl file you have created). After the Wizard has finished, the field marking will be present on the image.
  3. Configure field properties. Follow the procedure for configuring Document Definition properties for a fixed form.
  4. Configure data export.
  5. If required, you can configure the way data is displayed in the document window, checked against rules, etc.
  6. Test a Document Definition using images of several documents.

For mixed-type documents containing pages with fixed forms and semi-structured sections, you can attach a flexible description as one of the Document Definition sections. Start creating a Document Definition from any section (flexible or fixed) and then add a new section of a different type.

Documents of various types can be processed in a single flow: as part of the same project you can create Document Definitions for both fixed forms and flexible documents and Document Definitions for mixed-type documents. The program selects a Document Definition automatically.

To process documents with annexes, create a Document Definition and enable the option Enable annex pages in Document Definition properties. See Creating Document Definitions for documents with annexes.

Read more about creating Document Definitions


Creating batch types

Documents are processed in batches. Batches are created when documents are imported or scanned. At the same time, each batch is assigned a type.

Batch types predetermines the following document processing parameters:

  • image pre-processing
  • matching Document Definitions with their corresponding documents
  • batch integrity check
  • default batch export
  • batch processing
Batch types
Creating document batches


Creating import profiles

Document processing starts with adding new images into the batch. These can be paper documents to be scanned or electronic images to be imported.

Images can be added:

  • automatically on the Processing Stations

    To automate image import, you need to create an image import profile on the Project Setup Station and specify the Hot Folders to be used. Images will be imported from the Hot Folders automatically.

  • manually by the operators of the Scanning Stations. To scan pages, the operator of a Scanning Station must create scanning profiles.

    If images are often obtained from different sources, several import profiles can be created and the operator can then select the appropriate profile for each source.

On the Project Setup Station, you can debug Document Definitions by creating batches, adding document images into them, and processing them. The process of adding images can also be automated: the operator of the Project setup Station can create an image import profile that uses a scanner.

Image import profiles


Creating document batches

Documents to be processed are put into batches. The principles of grouping documents into batches are determined by the user. For example, the user may choose to process all documents as one batch, or group together documents imported on the same day or scanned at one go.

Batches can be created automatically when images are imported from Hot Folders or scanned on the Scanning Station. To create a new batch manually, right-click the batch list in the main window and select New Batch… from the shortcut menu.

When a batch is created, its type is specified, which determines the order in which the batch is to be processed.

Read more about creating document batches


Overview of the work of operators with a configured program

Operators use a program that is preconfigured for processing certain types of document. Document processing is the same for all document types and includes the following stages:

  1. Adding images

    Document processing starts with acquiring images - either by scanning and adding images manually or by using scanning profiles. All actions the need to be done to acquire images are performed by the operator of the Scanning Station.

  2. Starting the recognition process

    Recognition is carried out automatically on the Porcessing Station: the program selects the appropriate Document Definition based on the positions of the static elements, applies the Document Definition, and recognizes the data in the fields specified in the Document Definition.

  3. Verification

    Verification – the process of checking data – is the most labor-intensive part of the operator's work. It comprises:

    • Verification of document assembly – checking whether document pages have been assembled correctly;
    • Group verification – a visual check on groups of identically recognized characters;
    • Field verification – a check on uncertainly recognized characters within the context of fields with a known range of values;
    • Rule validation – checking for rule errors.
    • Batch integrity check - starting the integrity scripts and correcting any errors.

    Documents can be verified on two stations.

    Basic verification is done on the Data Verification Station, where only group and field verification modes are available to the operator.

    More complex verification is performed on the Verification Station, where apart from data verification the Verification Operator and the Senior Verification Operator may check document assembly and correct rule errors.

  4. Data export

    Data are exported automatically on the Processing Station in accordance with the settings provided in the Document Definition. A batch is exported either immediately after it has been processed or after it has been confirmed by the Senior Verification Operator (the corresponding settings are made for each batch type).

Read more about how operators work with configured projects


Operators of ABBYY FlexiCapture 10

Operator is a user of ABBYY FlexiCapture 10 for whom a document processing role and corresponding rights have been specified. The operators' access rights differ depending on their areas of responsibility. An operator's access rights depend on the operator's role.

The following roles are available in ABBYY FlexiCapture 10 (each role is set up for the current project):

  • Scanning Operator - an operator in this role can work on a Scanning Station
  • Data Verification Operator - an operator in this role can work on a Data Verification Station and on a Verification Station
  • Verification Operator - an operator in this role can work on a Verification Station (only data checks, assembly errors, and rule validation are accessible to the operator)
  • Senior Verification Operator - an operator in this role can work on a Verification Station (the entire functionality of the station is accessible to the operator)
  • Monitoring Operator - an operator in this role can work in the Administration and Monitoring Console (all features are accessible except setup)
  • Project Setup Editor - an operator in this role can work on a Project Setup Station
  • Administrator - an operator in this role can work in the Administration and Monitoring Console (the entire functionality of the console is accessible to the Administrator). Besides, the Administrator can access any station in the system and the Administrator rights apply to all projects uploaded to the Application Server, not only to the current ones.

A role defines the set of stations accessible to the operator in this role, as well as the queues from which the operator may get tasks during document processing.

The roles of Administrator and Monitoring Operator apply to the entire system. Other operator roles apply only to individual projects. Additionally, the roles of Scanning Operator, Data Verification Operator, and Senior Verification Operator have different access rights to different batch types. Thus, a user may simultaneously act the following roles:

  • Project A: Project setup Operator
  • Project B:
    • Type 1 batches: Senior Verification Operator
    • Type 2 batches: Data Verification Operator


Adding images

Usually, images are added on the Scanning Station (see Scanning Station Help for detailed information). However, the Senior Verification Operator can also add images on his/her station.

To add images on the Verification Station, select the batch to which to add images or create a new one. Images can be added in of the two ways:

  • Scanning (select File>Scan Images…Scan Images…
  • From image files (select File>Load Images…Load Images…

To debug Document Definitions, you can add images on the Project Setup Station.

Adding page images


Starting the recognition process and analyzing and applying a Document Definition

Usually documents are recognized, analyzed, and Document Definitions are applied automatically. However, these operation scan be started manually on the Verification Station and on the Project Setup Station.

To recognize the images, select Recognition>Recognize from the main menu.

To analyze the images, select Recognition>Analyze from the main menu. If a Document Definition matches a document, the page and its document will have the corresponding names. If one of the Document Definitions in the project does not match an image, the page is marked as unknown.

The system also allows you to apply a particular Document Definition to a page or to the entire document. In most cases, a correctly created Document Definition will be matched with its pages automatically, but in some cases this may need to be done manually. To match a Document Definition, select the page or document with which you want to match the Document Definition and then select Recognition>Match Document Definition… from the main menu.

Read more about recognition


Verification

Verification consists in checking that the data have been recognized, pages have been assembled into documents correctly, and rules returned no errors. Verification is done on the data Verification Station (where recognition accuracy is verified) and on the Verification Station (where all types of checks can be performed). Verification is performed for tasks.

Verification starts once a task has arrived to the station. First comes group verification, followed by fields verification. If a Document Definition contains no fields included in group or field verification, the corresponding verification stage is skipped.

For multipage documents, you need to correct possible document assembly errors. Pages are assembled into documents automatically. Documents with assembly errors are marked by the following symbol [image]. A description of the error is provided in red letters below the name of the Document Definition. When creating a Document Definition, you need to configure the document assembly rule: sequence and number of page repetitions. You can also configure assembly verification based on the values of key fields: in this case the values of key fields must be identical on all pages of the document. In the event of a mismatch, the relevant message will appear and the values of key fields will be highlighted in red. Assembly errors can be corrected most easily in page outline mode, which gives the user a good view of page images and the different documents to which they belong.

During group verification, groups of identically recognized characters are submitted for verification. The task of the operator is to identify differing characters that have been recognized incorrectly. They then correct their values, after viewing the image of the field containing this character. If it is impossible to correct characters, you can mark them as questionable.

During field verification, fields with a known range of values are submitted for verification. The task of the operator is to check uncertainly recognized characters within the context of the entire field. Field verification has two modes: a single field view mode with cuttings of characters and a multiple same-type fields view mode.

Unfulfilled rules are flagged: with a yellow flag [image] (warning) or a red flag [image] (error). Format errors are flagged with [image]. The operator needs to check fields with errors and, if possible, correct their values.

Verification is performed in the document window which opens when you double-click the name of a document or page. The document window does not display separate fields but only the entire document. It also shows all uncertainly recognized characters, rule errors, etc.

Read more about verification


Export

Data are exported automatically. If required, a separate export confirmation queue may be created by the Verification Operator. In this case export is done after confirmation is obtained. Data are exported based on the settings provided in the Document Definition.

To export documents manually, select one of the items in the File>Export To menu:

  • Data to Files… - to export data to files
  • Images to Files… - to export images to files
  • Database… - to export document to the database

Change the default export settings if required and export the data.

Read more about export


Installing and running the program

This section contains basic information about installing, protecting, and running ABBYY FlexiCapture 10. It also covers the system requirements for installation.

Software and hardware requirements
Installing ABBYY FlexiCapture 10
Running the program


Software and hardware requirements

Hardware requirements

  1. Intel® Core™2/2 Quad/Pentium®/Celeron®/Xeon™/Core™ i5/Core™ i7, AMD K6/Turion™/Athlon™/Duron™/Sempron™ 2 GHz processor or faster. The use of processor which has 2 or more cores is recommended for Application Server
  2. RAM
    • Scanning, remote Verification and Data Verification stations: 1GB
    • Other stations: 512 MB RAM for each CPU core, but no less than 1 GB
    • Servers: 2GB and 2 GB if MS SQL Server is installed on the same machine
  3. Hard disk space
    • Remote Verification and Data Verification stations: 100 MB
    • Other stations: 1 GB
    • Servers: 100 MB for applications, 2 GB for database (when using Microsoft SQL Server Express Edition). Additional space is required if the file storage is used.
  4. TWAIN, WIA or ISIS scanner
  5. An active Internet connection to activate your serial number, USB port for hardware protection key
  6. At least 1024×768 video card and monitor
  7. Keyboard, mouse, or other pointing device

Software requirements

Servers:

  1. Operating system:
    • Windows Server 2003 SP2
    • Windows Server 2008 SP2
    • Windows Server 2008 R2

    64-bit operating systems are supported via 32-bit emulation mode.

    If you use a localized interface, you operating system must support the corresponding language.

  2. Internet Information Server 6, 7 or 7.5 (for Application Server)
  3. .NetFramework 3.5 SP1
  4. Crystal Reports for Visual Studio 2008 or 2010
  5. Internet Explorer 7 or later
  6. Database server: Microsoft SQL Server 2005 SP2, 2008 SP1 or 2008 R2, Oracle 10g or 11g

Stations

  1. Operating system:
    • Windows XP SP3
    • Windows Vista SP2
    • Windows 7
    • Windows Server 2003 SP2
    • Windows Server 2008 SP2 or R2 + Desktop Experience

    64-bit operating systems are supported via 32-bit emulation mode.

    If you use a localized interface, you operating system must support the corresponding language.

    The use of the Arial Unicode MS font is recommended. Other fonts may display CJK characters incorrectly.

  2. .NetFramework 3.5 SP1 if .Net scripts are used or if ClickOnce deployment of Scanning Station is used
  3. Microsoft Internet Explorer 7 or later for Monitoring Station and ClickOnce deployment of Scanning Station
  4. SilverLight 4.0.60129 or later and one of the following browsers for Web Data Verification Station:
    • Microsoft Internet Explorer 7 or later

      Web Capture Station, Web Scanning Station and Web Data Verification Station support Internet Exporer 32-bit only. Working under 64-bit operating systems is supported via 32-bit emulation mode.

    • FireFox 3.6 or later with IETabs add-on
    • Opera 11.0 or later
    • Google Chrome 8.0 or later
    • Safari 5.0 or later

The servers and stations except web- and remote stations must be in the same Active Directory.

Supported terminal servers

The following terminal servers are supported:

  • Citrix Presentation Server 4.5
  • Citrix XenApp 5.0

Supported virtual machines

The following virtual machines are supported:

  • VMware Server 2.0 or later
  • VMware Workstation 6.5 or later

VMware ESXi 4.0 and Hyper-V virtual machines do not work with USB devices.


Installing ABBYY FlexiCapture 10

Before installing ABBYY FlexiCapture 10, we recommend closing down all other applications (e.g. Microsoft Outlook, Microsoft Word etc.).

Important! The setup program copies temporary files into the folder defines by the environment variable %temp%. If you encounter installation problems, make sure that this folder is accessible and there is enough space to store the temporary files.

Installing ABBYY FlexiCapture 10 includes the following stages:

  1. Installing the servers.
  2. Installing the stations.

Once the installation is complete, set up the system as required.

Installing ABBYY FlexiCapture 10 servers
Installing ABBYY FlexiCapture 10 stations
Processing Server and stations setup


Installing ABBYY FlexiCapture 10 servers

The servers are installed from the ABBYY FlexiCapture 10 disk via the setup menu. The following servers must be installed:

  • Application Server
  • Database Server
  • Processing Server
  • Protection Server

Installation instructions for each server are provided below.

Application Server

Before installing the Application Server, make sure that the necessary components are installed.

If these components are not installed on your computer, all of them (with the exception of Internet Information Services) can be installed from the ABBYY FlexiCapture 10 disk (Autorun, 2. Distributed Installation>1. Install External Components).

If all of the above components are already installed, you can start installing the Application Server. In the Autorun menu, select 2. Distributed Instllation>2. Install Servers and follow the instructions of the setup wizard. in the Custom Setup dialog box, select Application Server.

Note: To copy the stations deployment package onto the server, in the Custom Setup dialog box, select the Stations deployment package option. In this case you will be able to install the stations directly from the server rather from the setup disk.

To install Web Data Verification station, Web Scanning station and Web Capture station in the Custom Setup dialog box, select the Web Stations option. In this case operators will be able to access the stations via browser. To install Web Stations Authentication Module, select the corresponding subfeature. Default installation paths cannot be changed.

Note: Prerequisites (e.g. Ajax.Net) are installed only when installation or modification of the program is run via the setup.exe file.

Once the Application Server is installed, the Administration and Monitoring Console will be launched automatically, where you can set a database connection and grant right to the operators.

Database Server

The Database Server stores the data required for document processing operations: information about the operators, batches, events, etc. If there are no more than 50 Verification Stations in the system and no more than 100,000 documents are processed daily, you can use Microsoft SQL Server Express Edition. For larger volumes, the use of the full version of Microsoft SQL Server and/or File Storage Folder is recommended.

Microsoft SQL Server Express Edition can be installed from the ABBYY FlexiCapture 10 disk: in the Autorun menu, select 2. Distributed Installation>1. Install External Components.

Processing Server

The Processing Server distributes the workload among the Processing Stations. Together with the server, a Processing Server Monitor is installed, where you can monitor the operation of the server and set task priorities.

To install the Processing Server, in the Autorun menu, select 2. Distributed Installation>2. Install Servers and follow the instructions of the setup wizard. in the Custom Setup dialog box, select Processing Server.

Once the Processing Server is installed, you must configure it (i.e. start the server, add the Processing Stations, etc.).

Protection Server

The system requires a valid protection key which must be activated on the ABBYY activation server. This can be done via the License Manager application, which starts automatically once you have installed the Protection Server.

To Install the Protection Server, in the Autorun menu, select 2. Distributed Installation>2. Install Servers and follow the instructions of the setup wizard. in the Custom Setup dialog box, select Protection Server.

The License Manager allows you to manage your licenses, i.e. add, activate, select licenses and view their parameters.


Installing ABBYY FlexiCapture 10 Stations

The servers are installed from the ABBYY FlexiCapture 10 disk via the setup menu. You can also install the stations from the server, if the station installed was copied to the server when installing the Application Server.

The following servers must be installed:

  • Project Setup Station

  • Scan Station

  • Data Verification Station

  • Verification Station

  • Processing Station

The Scanning, Data Verification and Verification Stations can work both in the local area network and remotely via the Internet. Authorization is carried out using a login and a password.


Installing ABBYY FlexiCapture 10 in a local area network

ABBYY FlexiCapture 10 can be easily installed and used in a local area network.

To be able to install the stations from the server, you need to select the Stations deployment package option when installing the Application Server. The files required to install the stations from the server will be copied onto the server.

ABBYY FlexiCapture 10 can be easily deployed on multiple LAN computers. Network installation is done in two stages: first, the ABBYY FlexiCapture 10 station files are copied onto the server when installing the Application Server; then the stations can be installed from the server over the LAN.

For detailed instructions, see the Administrator's Guide, which is available from the Autorun menu.


Changing the installation mode, repairing and removing ABBYY FlexiCapture 10

Repairing and removing ABBYY FlexiCapture 10

To repair corrupted or deleted files:

  1. Select Start > Control Panel > Add or Remove Programs, then select ABBYY FlexiCapture 10 Servers or ABBYY FlexiCapture 10 Stations from the list of installed programs, and click Change.

  2. Select the Repair item and click Next.

To remove ABBYY FlexiCapture 10 from your computer:

  1. Select Start > Control Panel > Add or Remove Programs, then select ABBYY FlexiCapture 10 Servers or ABBYY FlexiCapture 10 Stations from the list of installed programs, and click Remove.

  2. Confirm that you wish to remove the program.


Running the program

The server and processing station services are started automatically. The stations and the Processing Server may be either running or stopped. The processing Server is started from the Processing Server Monitor. The Processing Stations are started by the user or automatically by the Processing Server (if the corresponding settings have been selected).

To monitor and control the operation of the Processing Server and the Application Server, select the following items from the Start menu:

  • Start/Programs/ABBYY FlexiCapture 10 Servers/Processing Server to start the Processing Server Monitor
  • Start/Programs/ABBYY FlexiCapture 10 Servers/Administration and Monitoring Console to open the main page of the console in your browser and control the Application Server

ABBYY FlexiCapture 10 stations are started by selecting the corresponding menu items from Start/Programs/ABBYY FlexiCapture 10 Stations.

Registry keys that control the launching of the application

You can use the following registry keys (in Shell\StartUp) to control how the application is launched:

  • Project - sets the project that is opened automatically when the application is launched;
  • Batch - sets the batch that is opened automatically when the application is launched (the batch must be specified);
  • ProhibitChangePath - prohibits changing the batch and project that open automatically in operator mode (set the key value to True).

These keys are not created in the registry by default. If required, the administrator may add these keys into the registry of the user's operating system.

The registry keys can be overridden by the corresponding command line launch parameters.

Command line launch parameters

The following parameters are used to start stations from the command line:

FlexiCapture.exe [/Station:(Setup,Validator,Verificator)] [/Project:"path to project"] [/Batch:"batch name"] [/ProhibitChangePath].

  • [/Station:(Setup,Validator,Verificator)] - specifies the station (Project Setup station, Verification Station, or Data Verification Station respectively). If no mode is specified, the program will prompt you to select a mode at startup;
  • [/Project:"path to project"] - sets the project that is opened automatically when the application is launched;
  • [/Batch:"batch name"] - sets the batch that is opened automatically when the application is launched;
  • [/ProhibitChangePath] - prohibits changing the batch and project that open automatically in operator mode.


Using templates created in earlier versions of ABBYY FormReader

Templates created in ABBYY FormReader 6.5 and 6.0 can be imported into ABBYY FlexiCapture 10.

When you import a Document Definition created in an earlier version, the page mark-up (except service fields) and data types are imported. The data types are copied to the Custom folder in the data types of the Document Definition. For more information, see Data types of the text entry fields.

Important! Export settings, validation rules, and images contained in the batch are not imported.

To import a Document Definition created in ABBYY FormReader 6.5 or 6.0:

  1. Start the Project setup Station.
  2. Create a new project or open an existing project into which you wish to import a Document Definition created in a previous version of the program.
  3. On the main menu, select Project > Document Definitions…
  4. In the Document Definitions dialog box, click Import….
  5. In the Files of type drop-down list select FormReader 6.5 Batches (*.frm) and then select the batch whose Document Definition you wish to import.

The imported Document Definition will be added to the list of templates. If there is more than one Document Definition in the batch, all the templates will be imported. If you specified a structure for multi-page documents in ABBYY FormReader 6.5, the templates described by this structure will be merged into one multi-page Document Definition.

Tips.
  1. For detailed information on the differences between the rules in the old and in the new versions, see FormReader 6.5 and FlexiCapture 10 rules compared.
  2. For recommendations on migrating from FormReader 6.5 If-Then rules, Automation rules, and Automation export to FlexiCapture 10 scripts, see Migrating from FormReader 6.5 rules and export to FlexiCapture 10 scripts.


ABBYY FlexiCapture 10 architecture and basic principles

ABBYY FlexiCapture 10 is a distributed client/server data capture application.

ABBYY FlexiCapture 10 includes several stations and servers. The stations are run by their respective operators. The servers run unattended.

The system has to be set up to capture data from documents:

  • establish a database connection (in the Administration and Monitoring Console)

  • create projects (this is done on the Project Setup Station by an operator that has the Administrator rights)

  • set up projects (this is done on the Project Setup Station by an operator that has the Project Settings Editor rights)

  • set up operator rights and roles for each project (in the Administration and Monitoring Console)

  • run the Processing Server

Once the system is set up, the operators may start processing the documents:

  • add document images

    On the Scanning Station, the operator may scan new documents or add images of already scanned documents. The Processing Station can automatically register images arriving to the Hot Folder.

  • recognize the added document images

    Recognition is carried out automatically without operator intervention on the Processing Station. The tasks are distributed among the stations by the Processing Server.

  • check the results

    The recognized data are checked on the Data Verification Station and on the Verification Station. The operator of the Verification Station who has the Verifier rights can carry out more thorough checks: check document assembly and batch-level rule errors.

  • export the results

    The results are exported automatically by the Processing Station.


ABBYY FlexiCapture 10 servers

ABBYY FlexiCapture 10 (Distributed Installation) includes stations and servers. The stations are responsible for document processing routines whereas the servers ensure the operation of the entire complex. The complex includes the following servers:

  • Application Server
  • Database Server
  • Processing Server
  • Protection Server

It is also recommended to create a File Storage Folder to store your project files.

Note: For Database Server and File Storage, it is possible to make a backup.


Application Server

The Application Server ensures the correct operation of the entire ABBYY FlexiCapture 10 system. The stations communicate among themselves via the Application Server.

We recommend installing the Application Server before you install the stations. Before installing the Application Server, make sure that the necessary components are installed.

Note: If the components are not installed on your computer, all of them (with the exception of Internet Information Services) can be installed from the ABBYY FlexiCapture 10 disk. Internet Information Services is a Windows component and is distributed together with the Windows operating system.

Important!
  1. If you use a firewall, be sure to allow the World Wide Web Publishing Service.
  2. To authenticate the Scanning Station by a log-in and password rather than by using Windows authentication, you need to set up the Internet Information Server: enable Basic Authentication at the level FlexiCapture/Server.

Once the Application Server is installed, the Administration and Monitoring Console will start automatically (the console is installed together with the server), where you can set up a database connection and grant access rights to the operators.


Database Server

The Database server stores information about the operators, batches, operations, task statuses, processing progress, and captured data.

From the ABBYY FlexiCapture 10 disk, you can install Microsoft SQL Server Express Edition, which allows processing up to 100,000 pages per day and use up to 50 Verification Stations. For larger processing volumes we recommend using the full version of Microsoft SQL Server.

Note: If a dedicated File Storage Folder is not used, the project files are stored in the database.


Processing Server

The Processing Server distributes the workload among the Processing Stations. Together with the Processing Server, a Processing Server Monitor is installed, which is used for monitoring the server and setting task priorities. Document processing proper is done on the Processing Station.

Once the Processing Server is installed, you should configure it: start the server, add, set up and start the Processing Stations, and enable Hot Folders.

Note: Before starting the Processing Server, make sure that the Processing Server access rights have been granted to the account under which the server is running (<domain name\computer name>$).

A description of the setup process is provided below.

  1. Start the Processing Server.
  2. Start the Processing Stations.
  3. Enable Hot Folders.

  • To start the Processing Server:

    1. Launch the Processing Server Monitor by selecting Start>Programs>ABBYY FlexiCapture 10 Servers> Processing Server.
    2. On the server tree, select ABBYY FlexiCapture 10 Servers, right-click, and select Add Server…
    3. In the Add Processing Server dialog box, specify the server location (Network host or Local host).
    4. Select Actions>Properties and provide the path to the Application Server (http://server). If the Processing Server and the Application Server are installed on the same computer, specify its name directly, as the use of the IP address 127.0.0.1 or the localhost expression will render the Processing Stations inoperable.

      Note: On the Application Server, start the Administration and Monitoring Console and assign the corresponding role to the computer on which the Processing Server is installed.

    5. Click [image] to start the Application Server.

      Note: The Processing Server can be stopped by using hard or "soft" stop. If you need to stop the Processing Server, for example, for upgrade purposes or for moving a database, you can use the "soft" stop. For this, select Actions>Stop. In this case, all current tasks are completed and afterward the Processing Server is stopped. New tasks are not taken into processing.
      To do a hard stop of the Processing Server, select Actions>Stop Immediately. In this case all current tasks will fail.

  • To set up the Processing Stations:

    1. In the server tree, select Stations and click [image]. The Add Stations dialog box appears. Select the desired stations from the overall list. You can also specify the name of the computer or its IP address. You can specify the name of the computer even if dynamic IP addresses are used. Use IP addresses if you experience problems accessing the DNS network.
    2. Select Actions>Properties and in the Station Properties dialog box, specify the parameters of the station:
      • Name - the displayed name of the station
      • Start automatically - this flag means that the station is started automatically by the Processing Server

        Note: Frequent attempts to start too many stations may considerably slow down the Processing Server

      • Required amount of disk space - the minimum disk space required for the operation of the Processing Stations; if there is not enough free disk space, the station will be stopped. The space specified in the field should be three times as large as the maximum size of an image that can be in processing. The optimal value of the minimum disk space is the doubled maximum size of a batch that can be in processing.
      • Maximum number of processes (CPU cores) - the maximum number of CPU cores that can be used for task processing
      • Allowed number of processes (CPU cores) - the allowed number of CPU cores for task processing; this parameter is computed automatically based on your hardware and license parameters and cannot be changed
      • Process priority - the priority of the process
      • Acceptable task types - the task types that the station can handle:
        • Import images - import tasks
        • Recognize pages - export preprocessing tasks
        • Verification support - merging results of double verification as well as pre- and postprocessing tasks for the Web Verification and Web Data Verification stations.
        • Custom processing - processing batch and document processing scripts
        • Export documents - document export tasks
    3. Click [image] to start the station.

      Note: The Processing Station can be stopped by using hard or "soft" stop. If you need to stop the Processing Station, for example, for upgrade purposes, you can use the "soft" stop. For this, select Actions>Stop. In this case, all current tasks are completed and afterward the Processing Station is stopped. New tasks are not taken into processing.
      To do a hard stop of the Processing Station, select Actions>Stop Immediately. In this case all current tasks will fail.

    Note: The stations receive the rights to process documents from the Processing Server when they connect to the server.

  • To enable Hot folders:

    1. In the Processing Server tree, select Hot Folders.
    2. Select the desired project from the overall list of projects.
    3. Select Enable from the shortcut menu.

    Note: The Check Hot Folder every N seconds option must be selected for the project.

  • To set up the Processing Server log:
    1. Open the Processing Server Monitor Settings dialog box by selecting File>Settings…
    2. Specify which messages should be logged (Errors, Warnings, Information messages).
    3. Specify whether information about completed tasks should be deleted (Remove completed task from the list).
    4. Specify which messages will trigger logging information about the task.

      Note: We do not recommend disabling the Remove completed task from the list option during normal operation of the system, as this may cause a pile-up of data and slow down the Processing Server Monitor. Disable this option only when setting up and tuning the system.

    5. Click [image] to view the task log. To save a task log as *.txt file, in the dialog box that opens click the Export Log… button.


Protection Server

The system requires a valid protection key which must be activated on the ABBYY activation server.

ABBYY FlexiCapture 10 supports two types of protection key:

  • hardware protection key
  • software protection key

Hardware protection key

A hardware protection key is a "dongle" you plug into a USB port on your computer.

The hardware protection key must be plugged into a USB port on the computer on which you installed the Protection Server. The hardware protection key can only be activated automatically via the Internet.

The parameters of your license are stored in the protection key.

Important! To ensure the normal operation of the hardware protection key, make certain that the standard SmartCard is running.

Software protection key

A software protection key is a computer file ("license file").

The software protection key must be activated on the ABBYY activation server. Activation is performed in the ABBYY FlexiCapture 10 License Manager, which starts automatically once the Protection Server has been installed.

The data required for activation is sent to the server in the form of a Product ID which is generated based on the information about the computer on which ABBYY FlexiCapture 10 is installed. No personal information is used to generate the Product ID and this code cannot be used to identify the user.

Activation methods:

  • Automatically via Internet (recommended)

    Activation over the Internet takes seconds to complete and requires an active Internet connection.

  • By e-mail

    An e-mail message is automatically generated on the computer where you installed the Protection Server. This e-mail message contains the data required to activate your license file. To ensure a quick response form the activation server, please do not alter the text of this message.

  • By e-mail from another computer

    To send an activation e-mail message from a different computer, you must first generate an e-mail message on the computer where the Protection Server is installed. Then paste the body text of this e-mail message into an e-mail on your other computer and sent it to the ABBYY activation server. To ensure a quick response form the activation server, please do not alter the text or subject of this message.

Repeat activation

You can re-install the Protection Server on one and the same computer any number of times without activating it anew. However, if you make major changes to the hardware, format the hard drive, or re-install the operating system, you may need to activate the license file again.

For each serial number, the number of activations is monitored. If you exceed the maximum number of activations, you will no longer be able to activate your license file. You can release an activated license by initiating a deactivation procedure. This will decrement the activation counter.

Managing your licenses

Licenses can be added, activated, selected, deactivated and information about each license can be viewed in the ABBYY FlexiCapture 10 License Manager, which is installed together with the Protection Server.

To launch the ABBYY FlexiCapture 10 License Manager:

  • Select Start>Programs>ABBYY FlexiCapture 10 Servers>Tools>ABBYY FlexiCapture 10 License Manager.

Adding a new license

To add a license:

  1. In the ABBYY FlexiCapture 10 License Manager main window, click Activate....
  2. Enter your new serial number, click Next and follow the instructions of the ABBYY FlexiCapture 10 Activation Wizard.

    Note: If no licenses have been added, when you launch the ABBYY FlexiCapture 10 License Manager, the ABBYY FlexiCapture 10 Activation Wizard is launched automatically and the program prompts you to enter your serial number.

Updating a license

You can update your license by loading the up-to-date license information from the ABBYY registration server:

  1. In the ABBYY FlexiCapture 10 License Manager window, select the license to update and click Update...
  2. Select an update method and update your license.

Selecting a working license

To select a license to be used:

  1. In the ABBYY FlexiCapture 10 License Manager window, select the license you wish to use.
  2. Click the Select button or choose Select from the local menu of the license.

License parameters

In the License Parameters field, you can view the following parameters for a selected license: serial number, license type, restrictions on the number of stations and development tools, time and performance restictions, etc.

Note: Depending on the license type, restrictions on the number of stations can be specified either separately for rich and Web-stations or together for both types of stations.

Deactivating a license

To deactivate a license, in the ABBYY FlexiCapture 10 License Manager window, right-click the license to deactivate and select Deactivate from the local memu.


File Storage Folder

The project files (i.e. documents, Document Definitions, etc.) should be stored in a dedicated File Storage Folder. The File Storage Folder should be specified in the Administration and Monitoring Console. The File Storage Folder should be located on the same computer with the Application Server. Be sure to specify the local (i.e. c:\\...) and not the network (i.e. \\server\...) path to the File Storage Folder. If no File Storage Folder is specified, the files are stored in the database.

Note: Storing files in database can load SQL Server significantly as images being processed usually occupy a lot of space. So it is desirable to not to use database for storing project files, except for files of demo-projects.

The size of File Storage Folder depends on images being processed. The required size can be roughly estimated as follows: avarage size of image to be processed * the number of images in the set * 2.


ABBYY FlexiCapture 10 stations

The complex includes the following stations:

  • Project Setup Station

  • Scanning Station

  • Processing Station

  • Data Verification Station

  • Verification Station

  • Web Data Verification Station

  • Web Scanning Station

  • Web Capture Station

The complex also includes an Administration and Monitoring Console.


Project Setup Station

The Project Setup Station is the station where projects are created, set up, and debugged. A project specifies Document Definitions, batch types, image import, document export, and processing options.

To create and set up a project:

  1. Create a project and upload it to the Application Server.
  2. Open the project on the server and set its properties.
  3. Create Document Definitions.
  4. Create Batch Types.
  5. Create Image Import Profiles.

Important! Only the Administrator may create new projects. A Project Setup Operator can only set up already created projects.

  1. Creating a new project

    Once the Administrator has established a database connection, the Administrator should:

    1. launch the Project Setup Station (Start>Programs>ABBYY FlexiCapture 10 Stations>Project Setup Station)
    2. create a project
    3. upload the project to the Application Server

    After the project is uploaded to the Application Server, the Administrator may grant setup rights for the project to a Project Setup Operator.

  2. Project properties

    To set project properties, the Project Setup Operator should:

    1. Launch the Project Setup Station.
    2. Select File>Open Project from Server… and specify the path to the Application Server. A Open Existing Project from Application Server dialog box appears.
    3. Select the project from the list of all available projects.
    4. Select Project>Project Properties… and specify the properties of the project: image pre-processing options, document recognition options, event handlers, export settings, and processing options.

  3. Creating Document Definitions

    To determine how document types are to be identified and processed, the Project Setup Operator should create Document Definitions. A Document Definition includes information about the structure of the document, the positions of its fields, export and document processing options, etc. Document definitions are created in a Document Definition Wizard and properties are specified in a Document Definition Editor.

  4. Creating batch types

    ABBYY FlexiCapture 10 can process documents in batches: prior to processing, a batch is created and the document images are placed in this batch, which then goes through the various processing stages. Typically, a batch contains all the documents processed at one go or all the documents imported from a particular folder. The settings to be used for processing the documents, are specified in the batch type. You can create several batch types for the most commonly used sets of processing options. In this case, each time an operator creates a new batch, they can specify its type and the batch will be processed in accordance with the settings specified for this batch type.

    Note:

    • If no batch types are created, all batches are processed with the <default> settings specified for the entire project.
    • Documents can be verified or exported either in batches or individually. This is also specified in the batch type settings.

  5. Creating image import profiles

    To automate the process of adding images, image import profiles can be created on the Project Setup Station. Two types of profile are available: one involving the use of a scanner and one involving the use of a Hot Folder. A scanner profile may be used to debug the project. A Hot Folder profile imports images automatically on the Processing Station.

    Note:

    • A scanner profile is only available on the Project Setup Station.
    • To use Hot Folders, you must enable Hot Folder for this project in the Processing Server Monitor.


Scanning Station

Important! For detailed information about the station, see Scanning Station Help

The purpose of the Scanning Station is to facilitate scanning large amounts of documents. The Scanning Station can work both in a local and a remote network (via the Internet). Authorisation is carried out using a login and a password.

The Scanning Station may be the first station into which a document arrives. The station is operated by a Scanning Operator, who can add images using one of the following two methods:

  • create and use scanning profiles and/or add images manually
  • add the images of already scanned documents from a folder

Profiles automate the process of acquiring images, enabling the operator to add images using the previously made settings with only one click of the mouse.

Besides adding images, the Scanning Operator may edit added images (see Scanning Station Help for details).

The typical sequence of actions performed by the Scanning Operator would be as follows:

  • Launch the Scanning Station and receive batch types from the server if the corresponding option is specified in project setting or Scanning Station settings. If batch types are not loaded automatically, you can load them manually after the Scanning Station is launched.
  • If there is an unfinished batch left on the station, continue processing this batch. Otherwise, create a new batch.
  • If import profiles have already been created, select the appropriate profile and start the scanning process. If there are no ready-made profiles, create the necessary profiles and use them to scan the documents.
  • When adding the images, the operator may visually control their property and edit them if required. If mere will not solve the problem, the operator may change the scanning options and rescan the faulty pages.
  • Control the quality of document assembly and correct any assembly errors.
  • Once the batch is ready, specify its registration parameters and send it to the server.
  • Repeat the above steps for the next batch of images or shut down the Scanning Station.


Processing Station

Processing Stations run in unattended mode and handle the following tasks: loading images from Hot Folders, applying Document Definitions and recognizing documents, exporting data to predefined storage locations. The Processing Stations receive tasks from the Processing Server.

To view the current tasks:

  1. Launch the Processing Station Monitor by selecting Start>Programs>ABBYY FlexiCapture 10 Stations>Processing Station. A Connect to Station dialog box opens.

    Note: To start the Processing Station, in the Processing Server Monitor, select a station and start it by selecting Start from the Actions menu or from the local menu of the station or by clicking the corresponding button on the toolbar. The station will run as a service.

  2. Locate the Processing Server.
    • Network host and the name of the computer on which the Processing Server is installed (if the Processing Server and the Processing Station are installed on different computers)
    • Local host (if the Processing Server and the Processing Station are installed on the same computer)

All the active tasks are displayed in the Tasks column. The following information is available for each task: start time, progress, status, priority, station, and creator. The tasks can be sorted by clicking on the name of the desired column.


Data Verification Station

The purpose of the Data Verification Station is to verify unreliably recognized characters. The Data Verification Operator reviews uncertain characters first in group verification mode and then in field verification mode. The Data Verification Station can work both in a local and a remote network (via the Internet). Authorization is carried out using a login and a password.

In group verification, the operator is displayed groups of similar characters. The operator should spot any incorrectly recognized characters and correct them, comparing them against the image of the corresponding field if required. If, for any reason, a character cannot be corrected, the operator marks it as uncertain.

In field verification, the operator is displayed fields whose value ranges are known in advance. The operator should verify the uncertain character by examining them in their context. Two views are available in field verification: single-field field display with extracted characters and multiple-field display, which shows all identical fields in the same screen.

Note: Besides the Data Verification Operator, the Data Verification Station may be accessed by the Verification Operator and Senior Verification Operator. Whichever operator is working on the station, they can only access the data verification queue.

To start data verification:

  1. Launch the Data Verification Station by selecting Start>Programs>ABBYY FlexiCapture 10 Stations>Data Verification Station.
  2. Select the appropriate project.
  3. Click [image] to start verification.

    Note: First comes group verification, followed by field verification. If a Document Definition has no fields included in group or field verification, the document is not queued for verification.

You can enable the automatic mode of getting tasks by clicking [image] or Task>Automatic Task Receive.

Once the data verification is over, the batch or set of documents is sent to the next processing stage which is defined by workflow settings.

If the Data Verification Operator encounters problems processing the documents, they can send the batch or documents into the Exceptions stage by clicking [image].


Verification Station

The Verification Station allows more complex checks than the Data Verification Station. Besides verifying the data, the station allows its operator to process problem batches or documents, correct assembly errors, apply data rules, and check batches for integrity. The Verification Station can work both in a local and a remote network (via the Internet). Authorization is carried out using a login and a password.

The difference between the local and remote stations is that the remote Verification station does not support background processes such as import, recognition and export. Thus operations which involve background processes (for example, matching Document Definition which requires recognition) are available in the local Verification station only.

The Verification Station can be operated by the following operators: Data Verification Operators, Verification Operators, and Senior Verification Operators. Depending on which role the operator selected when logging onto the station, they see and can process tasks from different queues:

  • A Data Verification Operator can process only tasks from the Data Verification queue
  • A Verification Operator can process tasks from any stage except the Exceptions stage and the Export Confirmation stage
  • A Senior Verification Operator can process tasks from any queue. Besides the list of queues, the Senior Verification Operator can also access the list of batches (for details, see the description below) and the view mode for each stage where a particular task from the queue can be selected.

Note: The list of available roles depends on the operator's access rights. If only one role is available to the operator, the list of roles is not displayed.

The following queues are available on the Verification Station:

  • <Any>

    This queue includes tasks created in any of the other queues. The list of queues available to an operator depends on the role selected by the operator when logging onto the station. The tasks are taken in the order of their priority.

  • Data Verification

    The data verification process starts with group verification followed by field verification. If a Document Definition has no fields included into group or field verification, the document is not placed in the data verification queue.

  • Document Assembly Check

    For multi-page documents, document assembly errors may have to be corrected. Document assembly rules are created together with Document Definitions and define the order of pages and the number of page repeats. Additionally, document assembly may be checked based on key field values, in which case the values of the key fields must be the same on all the pages of a document. If the values differ, an error message is displayed and the values are highlighted in red. Assembly errors are best corrected in the page thumbnail view, as it provides a clear general view of the pages and it becomes immediately clear to which document they belong.

  • Verification

    If no special queues are specified by the processing parameters, the Verification queue contains all tasks with document assembly errors, data verification errors, and rule errors.

  • Batch Integrity Check

    The rules used for data integrity checks establish links among the data in the documents of a batch.

  • Export Confirmation

    Data can be exported manually or automatically. If the processing parameters do not define a separate Export Confirmation queue, the documents are exported automatically. If the processing parameters include a separate Export Confirmation queue, the Senior Verification Operator must first check documents of the task after which the task is sent to the Export queue. If an error occurs in the Export stage, the documents are automatically sent to the Exceptions queue.

  • Exceptions

    Problem batches or documents, which the operators or stations failed to process, are sent to the Exceptions queue.

Note: The document processing parameters (i.e. separate queues) are specified for batch types or for the entire project if no batch types are used.

To perform a task, select the desired queue in the list of queues and click [image].

You can enable the automatic mode of getting tasks by clicking [image] or Task>Automatic Task Receive.

Task documents preview is available in Details and Thumbnails view modes. In Details view, only the documents of the active task are displayed. In Thumbnails view, all the documents of the batch are displayed and the pages that are not part of the active task are highlighted in gray.

Besides the list of queues with task, a Senior Verification Operator can get access to a full list of batches of the current project. For this, select View>Batches item in the menu or click a corresponding button on the toolbar.

In the batches view mode the operator can get access to information about the batch confidence level, the number of pages and documents, the batch type, ect. With a mouse selection of a batch in the list you can send the selected batch to any processing stage, specify the batch priority, select a particular user and add comment. Thus, you can collect documents, which belong to one batch, from different processing queues and send them to one stage.

With a double-click you can unfold the batch look through the list of documents, verify data, correct possible rule and assembly errors, etc. With a mouse selection of one or several documents, you can send the selected documents to a processing stage and create a separate task for them.

Note: When sending batches to stages, make sure that the documents of the batch do not belong to already created tasks, otherwise empty tasks will be created. You can check whether the document belongs to a task in the Task ID column.


Web Data Verification Station

Similar to the Data Verification Station the Web Data Verification Station is used to verify unreliably recognized characters. The operator reviews uncertain characters first in group verification mode and then in field verification mode.

Using the Web Data Verification Station allows you to work in the station via the Internet. For connection to the station, both Windows-authentication and basic authentication can be used. For login to the station, use the link http://<Application_Server>/DataVerification where <Application_Server> is the name of the computer on which the Application Server is installed.

When working with tasks in the Web Data Verification Station, you can perform the following actions by clicking the corresponding buttons at the bottom of the page: view Task properties, Save changes on your working station, Reject task or Send task to Exceptions.

Note: Some features of the Data Verification Station is unavailable when working via Web-interface, for example:

  • adding new images to the task;
  • saving images to a local computer (you can only send the task to the FlexiCapture Server);
  • automatic check of some rules. The check is performed when clicking the Check rules button or when accepting document or batch;
  • Document analysis and re-recognition. For unmatched or incorrectly matched fields, the values must be entered manually. For flexible description, you can also use the mode of fast input of recognized data from cache.

For more details on Web Data Verification Station, please refer to the Web Data Verification Station Help pages.


Web Scanning Station

Web Scanning Station is used to scan paper documents and then send then to ABBYY FlexiCapture 10 server for futher processing. The operator scans images or loads them from files, corrects them (if necessary) and them sends them to the server.

The Web Scanning Station works via the Internet. For connection to the station, both Windows-authentication and basic authentication can be used. For login to the station, use the link http://<Application_Server>/Scanning where <Application_Server> is the name of the computer on which the Application Server is installed.

Note: Some features of the Scanning Station is unavailable when working via Web-interface, for example:

  • creating documents in the scanning stage and dividing batches into documents;
  • saving images to a local computer (you can only send the task to the FlexiCapture Server);
  • editing images;

For more details on Web Scanning Station, please refer to the Web Scanning Station Help pages.


Web Capture Station

Web Capture Station is used to contribute information from paper documents to the system. The operator scans paper documents, corrects scannned images (if necessary), verifies and corrects recognized data and then exports corrected data.

The Web Capture Station works via the Internet. For connection to the station, both Windows-authentication and basic authentication can be used. For login to the station, use the link http://<Application_Server>/Capture where <Application_Server> is the name of the computer on which the Application Server is installed.

Note: Some features of the rich stations is unavailable when working via Web-interface, for example:

  • creating documents in the scanning stage and dividing batches into documents;
  • automatic check of some rules. The check is performed when clicking the Check rules button or when accepting document or batch;
  • Document analysis and re-recognition. For unmatched or incorrectly matched fields, the values must be entered manually. For flexible description, you can also use the mode of fast input of recognized data from cache.

For more details on Web Capture Station, please refer to the Web Capture Station Help pages.


Administration and Monitoring Console

Important! For the correct operation of the Administration and Monitoring Console, make sure that your browser allows the use of JavaScript and pop-up windows.

The Administration and Monitoring Console is used to set up the entire complex and to monitor its operation.

The Administration and Monitoring Console is a Web interface available to the user of the Application Server and provides access to the server via an Internet browser. The console can be opened on any computer that can access the Application Server by typing http://<AppServer>/FlexiCapture10 in the browser, where <AppServer> should be replaced with the name of the computer on which the Application Server is installed.

The Administration and Monitoring Console is launched immediately after the Application Server is installed, enabling the operator to establish a database connection. The operator may connect to an existing database or create a new one.

To set up a database connection, select Service>Application Server and click either Connect to existing database or Create new database. Then fill out the fields, entering the following data:

  • the server instance name

  • the name of the database

  • the type of authentication to be used when accessing the database

  • whether the File Storage Folder should be used

    A File Storage Folder is a local folder on the computer where the Application Server is installed which stores the project files. For demo projects, the project files can be stored in a database. For all other projects, select Use external file storage and provide the path to the appropriate local folder.

When updating, you may need to make changes to the structure of the database. If this is the case, use the script that comes with the update. To run the script, click the Apply Patch button and provide the path to the script file.

Besides connecting to a database, the Administrator must set up user access rights and distribute the operator roles.

Important! The rights granted to the Administrator, Monitoring Operator, and Processing Server apply to all the projects. Therefore, they can be set up immediately after the database connection is established. Rights to all other operators are granted for individual projects. Therefore, before grating rights to other operators, the Administrator must create projects and upload them to the Application Server. Unless there are projects on the Application Server, the Administrator will not be able to add operators and grant them access rights.

Access rights granted to Monitoring Operator have the following restrictions:

  • Deleting pages on the Monitoring > Sessions page is not allowed. Viewing the page is allowed.
  • Deleting batches on the Monitoring > Batches page is not allowed. Viewing the page is allowed.
  • Viewing all pages on the Service tab (Application Server, Cleanup, Out-of-Processing Documents, Event logging mode) is not allowed.
  • Viewing all pages on the Permissions tab (Users, Groups, Requests) is not allowed.

Once the complex is set up, the Administration and Monitoring Station can be used to monitor the operation of the complex (i.e. to track the current status of the complex and generate reports). Based on the information about the current status of the complex, the Administrator makes changes in the configuration or re-allocates resources.

The Administrator may review the statuses of Batches, Tasks, Sessions, Current processing status, Event log and Error log.

To review the statuses, select a project and then select the appropriate item from the Monitoring menu. The resulting list can be viewed on-screen, printed out, or saved in CSV format.

The Monitoring Operator can not only obtain information about the current status of the complex, but also generate reports about the operation of the complex.

The following reports can be created:

  • General operators report allows you to estimate the operators workload in the selected stage or get information about workload of a selected operator in all available stages or a specific stage.
  • General processing documents report and Client processing documents report display the following information about documents processed during the given interval of time: the number of processed batchs, documents and pages, the number of confirmed fields and characters, etc.
  • Exception processing reports displays information about tasks sent to exceptions.
  • Workstations report can apply in pilot projects for calculating the load and detecting bottlenecks in the system. This report allows you to compare productivity on workstations grouped by stage types.
  • Old reports - reports adopted from the previous version:
    • General document processing report displays the number of documents of the project processed at each stage (scanning, recognition, etc.).
    • Full Data Verification Operators report allows you to get information about work of all data verification operators with detailed information about tasks.
    • General Data Verification Operators report allows you to get general information about operators work without detailed information about tasks.
    • Full Verification Operators report allows you to get information about work of all verification operators with detailed information about tasks.
    • General Verification Operators report displays general information about operators work without detailed information about tasks.
    • Verification Operators report by Batches displays information about operators work with detailed information about batch types.
    • Full Scanning Operators report allows you to get information about work of all scanning operators with detailed information about tasks.

    • For detailed information about the Administration and Monitoring Console, see Administration and Monitoring Console Help.


Processing stages

Documents are processed in several stages, with certain routines performed at each stage, either automatically or assisted by the operator. The stages have a specific order and to go through a particular stage the documents must first go through the previous stages. On the whole, the following stages are required: adding images, recognition, verification, export.

At each stage, a processing queue is formed (see Task creation for details). A queue represents a set of tasks in the corresponding stage. As the processing progresses, the documents are moved from the first queue (scanning) towards the last queue (processed).

In the case of large processing volumes, the verification stage can be subdivided into smaller stages, each processed by its own operator. In other words, you can create separate stages for data verification, verification, document assembly checks, and export confirmation.

Some of the processing stages are required, while the other are optional. Whether the stage is required or not depends on the selected workflow scheme.

Stages

  1. Scanning

    Tasks from this stage are processed on the Scanning Station. In the Simple mode, the entire batches are processed.

  2. Rescanning

    Tasks from this stage are processed on the Scanning Station. The task is always sent to the operator who did the scanning.

  3. Recognition

    Recognition is done automatically on the Processing Station. In the Simple mode, the entire batches are processed.

  4. Document assembly check

    The tasks from this stage are processed on the Verification Station. If no separate document assembly stage is specified in the settings, batches or documents with errors are processed in the verification stage.

  5. Data verification

    The tasks from this stage can be processed on the Data Verification Station or on the Verification Station.

  6. Verification

    If no separate stages are specified, all tasks with document assembly errors, data errors, and rule errors are sent to the verification stage. The tasks from this stage are processed on the Verification Station.

  7. Batch integrity check

    Batches with integrity errors are sent to this stage. Integrity check options are specified by scripts when setting up a batch type. The tasks from this stage are processed on the Verification Station.

  8. Export confirmation

    A stage which ensures greater accuracy of the captured data. A batch or document is exported only after the operator confirms that it is suitable for export. The tasks from this stage are processed on the Verification Station.

  9. Export

    The tasks from this queue are processed on the Processing Station.

  10. Processed

    Processed documents are sent to this stage.

  11. Exceptions

    Documents with errors are sent to this stage after automated processing. Besides, operators may also send documents to this stage if for some reason these documents cannot be processed.

Task creation

To achieve the maximum efficiency during processing large amounts of documents, batches can be splitted into separate tasks.

Tasks are created from documents on the Application Server when documents arrive in the stage and are to be available for processing. Tasks are formed depending on the specified workflow settings.

In the Advanced mode, the number of documents in the task can be specified in the stage properties.

If the Wait for all documents of a batch option is selected the number of document is the task is unlimited. Documents sent to the stage as a part of a task, will be pending the completion of processing all documents of the given batch.

In the batch integrity check stage, access to all documents of the batch is required, so in this stage the operator always receives the whole batch.

It is also possible to send to the stage the tasks that were created earlier, e.g. when sending documents to a stage from the Verification Station provided that the Create task option was selected in the Send To... dialog box.

Note: For tasks created in earlier versions of ABBYY FlexiCapture or tasks that dropped out of processing, new tasks must be formed in the Administrative and Monitoring Console.

The workflow mode is specified in the Batch type settings.

See also Batch Types, Workflow Setup, Workflow.


Workflow

Both pre-configured and custom schemes can be used for processing documents. Pre-configured processing schemes can be either unattanded (the Unattended mode) or involve human operators (the Simple mode). A custom processing scheme is configured in the Advanced mode. There is also a special mode for Web Capture station.

Specifics of the Simple, Advanced, Unattended and for Web Capture station modes:

In the Simple mode, human operators are involved. In this mode, separate stages can be used for rescanning, data verification, document assembly check, verification, batch integrity check and export confirmation. For data verification, document assembly check, verification, batch integrity check and export confirmation stages, it is also possible to use web-stations. Documents (or entire batches) can go through these stages automatically (if there no processing errors) or after they are checked and corrected by an operator. If an error occurs, the document is sent to the exceptions stage. Likewise, an operator may send a document to the exceptions stage.

In the Advanced mode, complex workflow schemas can be configured. In this mode, it is possible to modify settings of base stages as well as create custom stages and include them in the processing schema. You can also enable double verification, thereby documents will be verified by two different operators in the Data Verification Station. In this mode you can also use scripts to process documents or entire batches.

In the Unattended mode, no operator involvement is required to process and export documents. In the event of an error, the unrecognized image may be saved to a dedicated folder, which can be selected on the Export tab, while the successfully processed documents are automatically exported. In the Unattended mode, batches are processed in their entirety.

In the for Web Capture station, you can specify the condition under which documents are sent to verification. This mode applies to document processed in the Web Capture station.

The order of processing is specified for each batch type. When a new batch is created, it is assigned a type, which predetermines the order of processing.

If no batch types are created, all batches are processed with the <default> settings specified for the entire project.


Configuring the program

Prior to the mass input of documents, you need to configure the program for processing documents of the required type. All of the required settings are configured on Project Setup Station.

To configure document processing, create a project comprising:

  • image import profiles
  • one or several Document Definitions
  • batch types for processing.

You may include various Document Definitions in the project, in which case various documents will be processed as part of the same project, depending on the Document Definition applied. However, if document flows do not cross, you may create separate projects for them.

Creating a project
Document Definitions
Image import profiles
Default export settings
Batch_Types
Document batches
Index fields


ABBYY FlexiCapture 10 setup

To set up ABBYY FlexiCapture for distributed document processing:

  1. Set up the Application Server in the Administration and Monitoring Console.
  2. Upload the project to the Application server.
  3. Grant access rights to the operators in the Administration and Monitoring Console.
  4. Set up the Processing Server and Processing Stations in the Processing Server Monitor.
  5. Set up the workflow on the Project Setup Station.


Application Server setup

The Application Server is set up by the Administrator of the system in the Administration and Monitoring Console.

To set up the Application Server, launch the Administration and Monitoring Console, go to the Create new database page (Service>Application Server, Create new database button) and specify the following:

  • Server instance name
  • Database name
  • Authentication type

    Note: You can select either Windows Authentication or Database Server Authentication. It is recommended to use Database Server Authentication as Windows Authentication can fail to work in some configurations. To check whether the selected connection type works, use the Test connection button.
    For both authentication types, administrator rights on the SQL server are required.

  • Set file storage

Note: The folder where the project files are to be stored must reside on the same computer where the Application Server is installed unless the Application Server is installed on cluster.

Project files can be stored either directly in the database or in a dedicated File Storage Folder. If no File Storage Folder is specified, the files are stored in the database. Database can be used for storing files of demo projects. For other projects, an external file storage should be specified.


Granting access rights to users

Access rights are granted by the Administrator in the Administration and Monitoring Console. The Administrator sets up user access rights and distributes the operator roles.

For more details on access rights, please refer to the help section of the Administration and Monitoring Console.


Processing Server and Processing Stations setup

The Processing Server is set up in the Processing server Monitor, an application that is automatically installed with the server.

To set up the Processing Server:

  1. Launch the Processing Server Monitor by selecting Start>Programs>ABBYY FlexiCapture 10 Servers>Processing Server.
  2. Add the server by selecting Actions>Add Server…
  3. Provide the path to the Application Server (Actions>Properties).
  4. Start the Processing Server (Actions>Start)

    Note: To start the Processing Server, the Administrator must issue the user account rights, under which the server is running (i.e. <domain name\computer name>$).

  5. Create the list of Processing Stations, specify their properties, and start them:
  • To add a station, go to the Stations node in the Processing Server tree and select Actions>Add Stations…
  • To set up a station, select it in the overall list of stations and from its shortcut menu, select Properties.
  • Specify the required station parameters: launch, priority, possible task types, etc.

    Important! The maximum number of simultaneous process (Maximum number of processes (CPU cores) field) may not be greater than the allowed number of processes (Allowed number of processes (CPU cores) field). At the same time, the total number of simultaneous process on all Processing Stations may not be greater than allowed by your license. If you attempt to start more stations, they will not run.

Generally the Processing Stations and the Processing Server can run under different accounts. Though by default or if they are started under the Network Service, the Processing Stations run under the same account as the Processing Server. The rights are granted to the stations by the Processing Server when the stations are connected to the server.

In the Processing Server Monitor, you can also set up Hot Folders.

To enable Hot Folders:

  1. In the Processing Server tree, select Hot Folders.
  2. Select the desired project in the overall list of projects.
  3. In the main window, select Actions>Enable.

Note: Registration of images from the Hot Folders will start only after the corresponding project is connected on the Processing Server.

Additionally, the Processing Server Monitor allows you to set task priorities and track the tasks. For this go to the Tasks node of the Processing Server tree.

Information about the type of the task (import from a Hot Folder, preprocessing, export), the time of starting the task execution, the batch name, the execution progress, the status, the priority, the author and the name of the station where the task is executed as well as a path to the project are available in the list of the tasks.

You can change the priority of the task execution in the task context menu or by using corresponding buttons on the toolbar. A high, normal or low priority can be selected. A possibility to change the priority allows you to speed up processing of an important task and postpone processing of less urgent documents.

The status Successfully indicates that the task completed successfully. If an error occurs during the task execution, the status Failed is assigned to the task. The status is also displayed in the form of an icon next to the task name.

Note: If information messages, warnings or errors occur during the task execution, but the task execution is still considered successful (as the problems are not critical for the task), you can trace such states by icons of the executed tasks. For example, such a situation can occur if non-obligatory export failed because access to the data receiver was denied.

The View Log item opens an additional window with detailed information on all actions executed by the program during processing a selected task. For example, you can trace how a required Document Definition is selected during recognition, or examine information messages and warnings.

The list of all events can be saved as a text file (*.txt). For this, select the Export List… item.

By default the Processing Server Monitor is configured so that information about successfully completed tasks is deleted from the tasks list automatically. In the File>Settings… dialog you can also configure the settings for displaying tasks and deleting them from the tasks list. If full statistics of tasks execution on the Processing Server need to be kept, deselect the Remove completed task from the list option.


Workflow Setup

The order in which a batch should be processed is specified for each batch type. When a batch is created, its type is specified and the batch is processed in accordance with the settings for this batch type.

If no batch types are created, all batches are processed with the <default> settings specified for the entire project (Project>Project Properties…, Workflow tab).

Workflows are set up on the Workflow tab of the Batch Type Properties dialog box.

The following workflow modes are available: Simple, Advanced, Unattended and for Web Capture station.

The Simple mode includes the following stages: Scanning, Rescanning, Recognition, Data verification, Document assembly check, Verification, Batch integrity check, Export confirmation, Export and Processed.

You can specify the following processing options:

  1. Process whole batches
    • If this option is selected, the entire batch is processed (i.e. the batch will not be forwarded unless all of its documents are processed).
    • If this option is not selected, each document from this batch is sent to next stage as soon as it is processed.
  2. Skip verification and data verification if percentage of characters need verification is equal or less than - the document will be sent for verification only if there are errors or if the number of highlighted characters is higher than the one specified in the % per document field.
    Note. If you selected always for any field in the Field Verification Settings, the document will be sent to verification under any circumstances.
  3. Use separate stages for:
    • Rescanning
    • Data verification
    • Document assembly check
    • Verification
    • Batch integrity check
    • Export confirmation

    All stages except Verification are optional.

    Creating separate verification stages divides the verification stage into substages, each handled by its own operator. Thus, each operator will be responsible for only one job: data verification, document assembly check, etc.

    If all of the above stages are handled by one operator, he/she will have to do all the tasks in turn: take the document from the Document Assembly Check stage, check the assembly, take the data from the data verification stage and verify them, etc.

    You can also use web-stations for all stages, except the Rescanning stage. For this, in the Allow web-stations column select a checkmark next to corresponding stage. Data Verification will be executed on the Data Verification web-station, while other stages will be executed on the Verification web-station.

The Advanced mode allows you to configure complex workflow schemas. In this mode you can both edit base stages and create custom stages.

Note. There is a time delay between the time Advanced workflow settings apply in the Project Setup Station and when they are displayed in the Verification Station.

The Advanced schema consists of the following base stages:

  • Exceptions
  • Scanning
  • Rescanning
  • Recognition
  • Unattended Processing
  • Data verification
  • Verification
  • Document assembly check
  • Batch integrity check
  • Export confirmation
  • Export
  • Processed

Select the stages to be included in the workflow schema. All stages except Scanning and Processed are optional.
To change the sequence order of stages, use the Move Up and Move Down buttons on the right. For stages, which cannot be executed earlier or later, the corresponding buttons are greyed out.

For each stage, the maximum number of documents a task can contain is specified in the Documents Per Task column. To change the number of document per task for a stage, click on the number and enter a new value.
Note. In the Batch integrity check and Processed stages, batches are processed in their entirety and not divided into tasks, so, for these stages, the number of documents per task cannot be changed.

The base type for each stage is specified in the Base Type column. The base type indicates the type whose base settings were used when creating the stage.

For each stage, you can view and edit its properties. To open a stage properties dialog box, select a stage and click the Edit… button on the right. For details, see Editing Stage Properties.

Apart from base stages, you can also create custom stages to be included in the workflow schema. Custom stages can be based on stage tools and allow you to create stages of the same base type but with different stage properties.

To add a stage, click the Stage… button on the right. In the window that will open, select a base stage on whose basis a new stage will be created and specify the stage properties. The new stage will be added to the schema. For details, see Creating Processing Stages.
To delete a custom stage, select the stage and click the Delete button on the right.

If transfer to the stage is conditional, the stage is marked with the [image] icon. If documents are always admitted to the stage, the stage has the [image] icon.

In the Unattended mode, the documents are processed and exported without operator intervention. If processing errors occur, the unrecognized image can be saved in a dedicated folder (this is specified on the Export tab) and the successfully processed documents will be automatically exported. In this mode, batches are processed in their entirety.

In the for Web Capture station, you can specify the condition under which documents processed in the Web Capture station are sent to verification. If the option Skip verification and data verification if percentage of characters need verification is equal or less than is selected documents will be sent for verification only if they contain errors or if the number of highlighted characters is higher than the one specified in the % per document field.


Creating Processing Stages

Custom stages are created in the Advanced mode of the Workflow setup.
To add a custom stage, click the Stage… button on the right. The Create Processing Stage window that will open contains the list of base and earlier created custom stages on whose basis a new stage can be created. The properties of the selected stage are displayed at the bottom of the dialog box under the caption Selected Settings.

There are three types of stages in the Advanced mode:

  1. Automatic - tasks of this type are executed on the Processing Station without operator intervention.
    The Automatic stage includes the following substages:
    • Recognition
    • Unattended Processing
    • Export
  2. Interactive - tasks of this type are processed by operators in the Verification Station, Data Verification Station or Scanning Station.
    The Interactive stage includes the following substages:
    • Scanning
    • Data verification
    • Document assembly check
    • Verification
    • Batch integrity check
    • Export confirmation
  3. User Type - tasks of this type are taken, executed and returned to the next stage by external clients via Web Service API.

Note. To add a processing script to the workflow schema, select the Automatic stage.

Select a base stage on whose basis you wish to create a new stage and click OK. A Workflow Stage Properties dialog box will open. This dialog box contains the following tabs:

  • General
  • Data Set (for the Data verification and Verification stages only)
  • Script (for the Automatic stage only)
  • Exit Routes (for all stages, except Exceptions, Rescanning and Processed)
  • Enter Conditions (for all stages, except Exceptions and Processed)
  • Roles (for stages based on custom Stage Tools)

The list of options on each tab depends on the selected stage or type. For detailed description of stages properties, see Editing Stage Properties.


Editing Stage Properties

In the Advanced mode of the Workflow setup you can specify stage properties when creating a new stage as well as edit properties of base or earlier created custom stages.
Stage properties are specified and edited in the Workflow Stage Properties dialog box. To open this dialog box for a selected stage, click the Edit… button on the right.
Properties are grouped in tabs. The number of tabs and the set of properties allowed for editing depend on the base type of a selected stage.

Option

Description

Stage

General tab

Name

In this field you can specify a different name of the stage

The property is available in all stages

Tool

From the drow-down list select a desired tool of the given base type. You can set up tools on the Stage Tools tab of the Project Properties dialog box.
Note. For the Interactive stage, any tool can be selected. The base type assigned to the stage depends on the selected tool.

The property is available in the following stages:

  • Interactive
  • Document assembly check
  • Data verification
  • Verification
  • Batch integrity check
  • Export confirmation

Documents Per Task

Sets the maximum number of documents a task can contain

The property can be edited for all stages, except Batch integrity check and Processed

Wait for all documents of a batch

Specifies whether the entire batch is processed or each document from the batch is sent to next stage as soon as it is processed

The property is available in all stages, except Batch integrity check and Processed

Restrict set of Document Definitions being used

Allows you to restrict the set of Document Definitions that are admitted to the stage.
Note. If the set of Document Definitions is restricted and the Wait for all documents of a batch option is selected, then in the stage only documents from the specified set will be processed, but the task sent to the next stage will contain all documents of the batch.

The property is available in all stages, except Exceptions and Processed

Enable web-stations

 Specifies whether to use web-stations for processing

The property is available in the following stages:

  • Exceptions
  • Data verification
  • Verification
  • Batch integrity check
  • Export confirmation

Data Set tab (available in the Data verification and Verification stages only)

Data being processed in the stage

Specifies whether to process all data or only selected fields in the stage (for distributed verification).
To process selected fields, in the Available fields list select the fields to be processed. This list contains Document Definitions specified on the General tab.
Use the ">" and ">>" buttons to add desired fields to the Selected fields list.
The ">" button adds a selected item (a Document Definition, a page, a group of fields or a field) to the list.
The ">>" add all Document Definitions from the Available fields to the Selected fields list.
The "<" and "<<" remove a selected item or all items from the Selected fields respectively.

The property is available in the Data verification and Verification stages only

Hide the page image outside of the selected fields

Specifies whether to hide fields not included in the Data Set. Select this option a high security level must be ensured during the distributed verification.

The property is available in the Data verification stage only

Double verification

Specifies whether to enable double verification in the stage. If the option is select, the document are verified by two different operators.

The property is available in the Data verification stage only

Script tab (is present in the Automatic stage only)

Type

From the drop-down list select one of the processing scripts: Document Processing or Batch Processing script.

The property is available in the Automatic stage only

Edit script…

Opens the Script Editor window.

The property is available in the Automatic stage only

Exit Routes tab (is missing in the Exceptions, Rescanning and Processed stages)

Next stage

Select how the next stage is defined:

  • By routing schema
  • Custom (the stage is selected from the drop-down list)

The property is available in all stages, except Exceptions, Rescanning and Processed

Sending to the next stage conditions

Contains the list of stages to which a task will be sent if the desired conditions are fulfilled.
To add a stage, click the Stage… button. The Next Stage dialog box will open. In this dialog box you can select a stage and specify conditions under which the task will be sent to this stage. Use the buttons on the right to configure the stage settings:

  • Rule… - opens the Rule Settings dialog box where you can add a new rule.
  • Edit… - opens the Rule Settings dialog box where you edit settings of the selected rule.
  • Delete - deletes the selected item (a rule or a group of rules).
  • Group… - opens the Rule Group dialog box which allows you to add a group of rules. Specify the name of the group and select the condition under which the group of rules is implemented: either when any one rule is implemented or all rule are implemented.
  • Move Up - moves a selected rule or a group of rules one position up.
  • Move Down - moves a selected rule or a group of rules one position down.
To edit the selected stage, click the Edit… button. The Next Stage dialog box that contains settings for a selected stage will open.
To delete the selected stage, click Delete.
Use the Move Up and Move Down buttons to change the order of stages.

The property is available in all stages, except Exceptions, Rescanning and Processed

Enter Conditions tab (is missing in the Exceptions and Processed stages)

Documents are admitted to the stage

Select whether documents are admitted to the stage always or under certain conditions. If the Under conditions options is selected, use the buttons on the right to configure rules.
To add a rule, click the Rule… button. The Rule Settings dialog box will open.
To edit the selected rule, click Edit…. The Rule Settings dialog box that contains settings for a selected rule will open.
To delete the selected item (a rule or a group of rules), click Delete.
For adding a group of rules, click the Group… button. In the Rule Group dialog box that will open, specify the name of the group and select the condition under which the group of rules is implemented:

  • any one rule is implemented
  • all rule are implemented
Use the Move Up and Move Down buttons to change the rules order within a group.

Note. If the condition is not satisfied, the document is moved to the next stage specified in the workflow scheme.

The property is available in all stages, except Exceptions and Processed

Note. Information about the selected exit route and enter conditions that have been checked is written to the Event log.


Rule Settings dialog box

In the Advanced mode of the Workflow setup you can specify exit routs and enter conditions for a stage by using rules.
You can specify both conditions under which a task will be sent to successive stages and conditions under which documents are admitted to the stage.

Sending rules are configured in the Next Stage dialog box which appears when you add or edit a stage on the Exit Routes tab of the Workflow Stage Properties.
Rules specifying conditions under which documents are admitted to the stage are configured on the Enter Conditions tab of the Workflow Stage Properties.

Exit routes and enter conditions can be specified either by standard rules or by a Stage rule script.

To add a new rule, click the Rule… button. For editing a rule, click Edit….

The Rule Settings dialog box contains the following fields:

Field | Description
Name | The name of the rule.
Condition type You can select one of the following types:
  • Standard rule
  • Script

For the Standard rule condition type:
Rule is implemented, if Select one of the following choices:
  • The condition is satisfied
  • The condition is not satisfied
Condition Select one of the following conditions:
  • The task was processed successfully.
  • Number of characters for verification satisfies the expression
  • Percent of characters for verification satisfies the expression
  • Number of fields for compulsory verification satisfies the expression
  • Number of characters for double verification satisfies the expression
  • Has rule errors
  • Has assembly errors
  • Has batch integrity errors
  • Field value satisfies the expression
For conditions that contain expressions, enter the reference value and select whether the value being checked must be equal, not equal, less, less or equal, more, more or equal as compared to the entered value.

For the Field value satisfies the expression condition, also choose a field whose value will be compared with the reference value. For this, click the Choose… button and choose the desired field from the list.

For the Script condition type:
Script… | Opens the Script Editor window where you can edit the stage rule. On closing the Script Editor, the saved script code is displayed in the Rule Settings window to the left of the Script… button.


Creating a project

Before you can start processing your documents, you need to create a project. A project includes:

  • image import profiles
  • one or more Document Definitions
  • batch types

Once a project is created, upload it to the Application Server.

Projects are created on the Project setup station and uploaded to the Application Server via the Administration and Monitoring Console.

To create a new project, select File>New Project…

Project properties
Document Definitions
Image import profiles
Batch types
Batches


Project Properties

The properties of a project can be viewed and changed in a separate dialog box that opens when you select Project>Project Properties… in the main window.

The General tab displays the general properties of the project: the name of the project, the path to the project files, a description of the project, a default batch priority and displayed images quality. You can also specify the root folder for exporting to files in the Export root path field and configure tool settings.

The Stage Tools tab contains the list of stage tools that can be used in the Advanced scheme of the Workflow setup. A stage tool is a stage with a set of scripts and a customizable interface. You can both edit base stage tools and create custom tools. See Stage Tools for details.

The Image Preprocessing tab displays the image pre-processing options. You can change these options if required. See Image pre-processing options for details.

The Recognition tab contains the option Delete blank pages during recognition. Select this option if you wish blank pages to be deleted during recognition. Also on this tab you can add a FlexiLayout classifier to your project.

On the Verification tab select the Group fields on Field Verification option to group fields in this stage. Fields are grouped according to the name of the field or the group specified in the field properties.

The Event Handlers tab contains the list of events that can be handled with the help of a script. To create an event handler, select an event from the list and click the Edit Script… button. In the Script Editor that will open, write the script text. See Event Handlers for details.

The Export Destinations tab displays the export settings (for the "default" batch type). To export unrecognized documents, select Export unrecognized documents and specify desired export settings.

On the Workflow tab, you can set up your workflows (for the "default" batch type). See Workflow setup for details.

On the User Roles tab you can add user roles who can process stages based on custom Stage Tools.

On the .Net References tab you can add external assemblies to be used in scripts and global modules. Both standard and compiled user assemblies can be used. To add an assembly, click Add…. In the dialog box that opens select the type: Standard assembly name or Attached file. Depending on the selected type either enter the standard assembly name or browse to an assembly file. See External assemblies for details.


Batch Types

ABBYY FlexiCapture 10 allows processing documents in batches: prior to processing proper, a batch is created and document images are added into this batch. Batches are created automatically or manually when importing images (i.e. when scanning in documents or when importing the images of already scanned documents). The settings to be used for document processing are specified for each batch type individually. You can create several batch types for the most commonly used sets of processing settings. In this case, all the operator needs to do is to select the appropriate batch type.

A batch type defines the following processing settings:

  • image pre-processing
  • Document Definitions and the order in which they should be applied
  • external assemblies
  • event handlers
  • export settings
  • batch processing order
  • general settings such as the name of the batch type, a description, a default batch priority and displayed images quality

A batch type also defines the list of registration parameters (this is textual information that characterizes a batch).

Batch types are created by the Project Setup Editor for each project individually.

To create a batch type:

  1. Start the Project Setup Station by selecting Start>Programs>ABBYY FlexiCapture 10 Stations>Project Setup Station and open the project from the server (File>Open Project from Server…)
  2. Open the Batch Types dialog box be selecting Project>Batch Types…
  3. Click New and follow the instructions that appear on the screen.

The batch types you create will be automatically uploaded to the Application Server and become accessible to the operators.

Note: To enable operators to work with the newly created batch types, the Administrator should specify the batch types accessible to each operator. This is done when giving roles to operators.


Registration Parameters

Registration parameters are textual properties allowing to identify a specific batch or document. These properties can be represented by the scanning date, the name of the Scanning Operator, etc. A registration parameter may be required or optional.

Registration parameters can be assigned to the batch during creation (if the batch is created automatically using import profiles. Registration parameters can also be assigned to batches and documents on the Scanning Station and sent to ABBYY FlexiCapture together with the images.

The registration parameters can be configured on the Registration Parameters tab of the Batch Properties or Document Properties dialog box respectively (click Properties… on the shortcut menu).

Note: It is recommended to specify different names for batch and document registration parameters. In case of identical names, the document registration parameter is always used when substituting the registration parameter value. For example, when generating file names during export.


Uploading a project to the Application Server

Once you have created a project, you need to upload it on the Application Server. This will copy the project settings, Document Definition files, dictionaries and other service data onto the Application Server.

Important! If batches have been created in the project, the batches will not be copied to the Application Server when you upload the project.

To upload your project to the Application Server, select File>Upload Project to Server… from the main menu of the Project Setup Station.

Note: Only the Administrator may create new projects. A Project Setup Operator can only set up already created projects. Therefore, after the project is uploaded to the Application Server and the station operators are granted the required rights by the Administrator (this is done in the Administration and Monitoring Console), the Project Setup Operator must open the project on the Application Server by selecting File>Open Project from Server… and make the necessary settings (i.e. create Document Definitions, import profiles, specify export settings, etc.).

Important! For the export to complete successfully, the path to the project folder must be specified in UNC format (\\computer_name\share_name[\path] after the project has been uploaded to the server. Make sure all stations involved in the export have access to the specified folder.

Specifying the path of the uploaded project in the format "<disk:> \[path]" will result in export errors. If you specify the relative path, the data will be accessible only via the application programming interface (API). To access data in another way, you need to specify the root folder for relative paths in UNC format (it can be done when adjusting project properties).


Test project

A test copy of a project can be used if you wish to check that the project works correctly before applying changes to working project.

To create a test copy of project, select File>Create Test Copy.

In the Project Setup Station, only the user who created a test copy of a project can work with it.

Once you have made changes in the test copy of the project and tested its functioning, you can either apply changes to working copy, for this, select Commit Test Copy from the Project menu, or delete the test copy, for this, select Project>Delete Test Copy.


Tool Settings

The Tool Settings dialog allows you to configure handling certain events for all batch types. When a batch is created, its type is specified and the batch is processed in accordance with the settings for this batch type.

If no batch types are created, all batches are processed with the <default> settings specified for the entire project (Project>Project Properties…).

Tool settings apply to batches of all types before they enter a stage.

To open the Tool Settings dialog box, click the Edit tool… button on the General tab of the Project Properties dialog box. The dialog box that opens, contains the following settings:

Option | Description
Event settings group
Add Event… button | Opens the Add Event dialog box where you choose an event to be handled. To write the script processing this event, click the Edit Script… button.
Edit Script… button | Opens the Script Editor where you can edit the script processing the selected event.
Delete button | Removes the selected event from the list.
Skin settings group
Edit skin… button | Opens the Skin Settings dialog box where you can set up the appearance of the station.
Reset skin button | Resets skin settings to default.


Stage Tools

The Stage Tools tab of the Project Properties dialog box allows you to configure tools of the processing stages. On this tab you can add and delete custom tools and edit tools properties.

To create a new processing stage tool, click the Add... button. In the Create New Processing Stage Tool dialog box that opens, specify the name of the tool, enter the description and select the type of the stage from the Type drop-down list. The new stage tool will be added to the list of tools.

To edit a selected stage, click the Edit... button. The Processing Stage Tool Settings dialog box that opens, contains the following settings:

Option | Description
Event settings group
Add Event… button | Opens the Add Event dialog box where you choose an event to be handled in the stage. To write the script processing this event, click the Edit Script… button. The Script Editor will open.
Edit Script… button | Opens the Script Editor where you can edit the script processing the selected event.
Delete button | Removes the selected event from the list.
Skin settings group
Edit skin… button | Opens the Skin Settings dialog box where you can set up the appearance of the stage.
Reset skin button | Resets skin settings to default.


Skin Settings

The Skin Settings dialog box allows you to customize the appearence of the station using Stage Tools and Tool Settings. To customize the appearance of the selected tool, click the Edit... button and in the dialog box that opens click Edit skin…

On the Toolbars tab of this dialog box you can configure the set of toolbars for a selected tool. For each tool, the list of toolbars contains the four obligatory toolbars: Tasks, Standard, View and Navigation. To add a new toolbar, click the Add... button. In the dialog box that opens, specify the toolbar name and click OK. The toolbar will be added to the list. To change the name of a custom toolbar, click Rename…

On the Commands tab, you can rearrange the menu and toolbar commands. Select Menu or Toolbar and from the corresponding drow-down list choose a menu item or a toolbar you want to rearrange. The Commands group contains the list of commands available for the selected menu item or toolbar. For each command, the following options are available:

Option | Description
Add... button | Opens the Edit Command dialog box to add a new command.
Edit... button | Opens the Edit Command dialog box where you can change the name of the command.
Delete button | Removes the selected command from the list.
Up and Down buttons | Moves the selected command up or down in the list.
Reset button | Resets settings to default.

The Tooltip field contains the tooltip text for a command and a keyboard shortcut (if a shortcut is specified for the command).

Note: When adding a user command, you can enter the tooltip text for this command. The maximum length of the tooltip text is 80 characters. Keyboard shortcuts for user commands are configured on the Keyboard Shortcuts tab of the Tools > Options… menu.

When adding or editing toolbar commands, you can select whether to display the command as text or as an icon. If the Use icon option is selected, click Browse (bmp, 24x24)… to load an image to be used as the command icon. The image must be in .bmp format and of size 24x24px. For commands of the Tasks toolbar, the image size must be 32x32px.

To add a menu item that will show/hide all custom toolbar commands, on the Commands tab select a menu item to which the list of custom toolbars will be added and click Edit... In the Edit Command dialog box that opens, select View in the Categories list and in the Commands list select Custom Toolbars.

Note: The Custom Toolbars command can not be added on a toolbar, but to the menu only.


Displayed images quality

The Displayed images quality option determines the quality of images which are loaded on the stations.

Displayed images quality is specified for each batch type. When a batch is created, its type is specified and the images of the batch are displayed with the specified quality.

If no batch types are created, batch images are displayed with the quality specified for the entire project (Project>Project Properties…, General tab).

The following values for the displayed images quality can be selected: 20%, 40%, 60%, 80% or 100%.

Reducing the quality of displayed images can apply to speed up loading images if the networks capacity is low on the operators computers (for example, if the work remotedly). If a lower quality is selected, images will be loaded faster due to smaller size.


Document Definitions

Creating a Document Definition is the main and most critical stage in configuring a project and determines the quality of data obtained after processing.

Document Definitions can only be created on the Project Setup Station.

A Document Definition describes the location of document elements and indicates fields to be used in data extraction. When creating a Document Definition, field properties are specified along with their range of values. Data export settings are also configured.

To start creating a Document Definition, run the Document Definition Wizard:

  1. In the main menu of ABBYY FlexiCapture 10 select Project>Document Definitions…
  2. In the Document Definitions dialog box that opens click the New… button.
  3. Follow the instructions in the Document Definition Wizard.
Document Definition Wizard
Automatic detection of fields and static elements
Static elements
Creating fields of a Document Definition
Field properties
Rule validation
Configuring data export
Configuring data presentation in the document window
Document Definition properties
Importing a Document Definition for forms created with ABBYY FormDesigner
Creating Document Definitions for multipage documents
Creating a Document Definition for flexible document processing
Creating Document Definitions for documents with annexes
Processing unstructured documents
Editing and publishing a Document Definition
Testing a Document Definition


Document Definition Wizard

To create a new Document Definition, select the main menu item Project>Document Definitions… and in the Document Definitions dialog box click the New… button. The new Document Definition creation wizard will open.

  1. In the Create New Document Definition dialog box specify the main Document Definition settings: name and commentary, language used (Language (locale)) and writing style (Writing style). By default, the dropdown list contains only languages that have dictionary support. To select a language without dictionary support, enable the option Show all languages. It is very important to specify the language correctly: correct document recognition depends on this. The writing style can differ significantly in various countries, which is why it is important to specify the country to enable the program to select the typical writing style.

    Show examples of various numeral writing styles
    - Russian two
    - American two
    - "ordinary" five - can occur in any style
    - Japanese five
    - Russian one
    - German one
    - "ordinary" nine - can occur in any style
    - Czech nine with the ring on the right
    - American nine without the "hook" at the bottom

    Specify the text type:

    • ICR (hand-printed)– enable this option if most fields in documents will be completed by hand;
    • OCR (printed) – enable this option if values in most fields will be printed. Select the print type in the dropdown list.

    Note: Recognition of handprinted text is not supported for all languages. For some languages this recognition type will be unavailable. See Supported recognition languages.

    Later you can change the text type for individual fields, while the type specified at this stage will be used by default.

    Click Next to go to the next step.

  2. For the second step, load the image of your document page to create the Document Definition. You may scan the image of an uncompleted page or load it from file.

    Note: The Document Definition for fixed forms is created using an image obtained by scanning an uncompleted form. This should be a good-quality image without distortions (free from skewing, flaws, etc.). When creating Document Definitions of color background forms, you should use pages scanned without filters so that the background does not disappear during scanning. (Later on, when you scan page images for data recognition you will select a scanning mode that causes the background to disappear).

    If your document consists of several pages, load the first page and use recommendations of the section Creating Document Definitions for multipage documents for adding the remaining pages.

    If you need to use a flexible description created with ABBYY FlexiLayout Studio, enable the option Load FlexiLayout and enter the path to the file containing the flexible description. For details see Creating a Document Definition for processing flexible documents.

    Click the Next button.

  3. For the next step, select field types that have to be detected in the image automatically. You may mark checkmarks and text entry fields. The program automatically detects text fields with a region and rectangular checkmarks particularly well. If entry fields on your form do not have a region, and checkmarks are inserted against a white background, normally they have to be highlighted manually.

    Note: Automatic anchor search is always performed. If the form contains anchors, they will be detected and marked on the image.

    Click the Finish button.

When the Document Definition Wizard is finished, the Document Definition editor window opens where you can perform further actions to create a Document Definition. At the next stage of Document Definition creation you must mark fields and static elements on the page image and configure their properties.


Automatic detection of fields and static elements

Automatic detection when adding an image:

When a page image is added, the program always detects anchors. If the image has standard anchors (such as black squares), these will be detected and marked. The program searches for text fields and checkmarks if the user has enabled the Text or Checkmarks options. The program performs automatic detection of text fields with a region and rectangular checkmarks particularly well. If entry fields on your form do not have a region, and checkmarks are inserted against a white background, they will normally need to be highlighted manually.

Automatic detection in the window of the Document Definition editor:

For automatic detection in the window of the Document Definition editor, select the required mode (fields or static elements) followed by the menu item Tools>Autodetect Objects…. Mark the types of fields or static elements to be detected automatically.

If you need to detect specific objects on the image automatically, select the required mode (fields or static elements) and click [image] on the toolbar. If you click on the element – it will be marked with a rectangle. The element type will be detected automatically.

Automatic detection of a region:

For a field or static element region of a specific type to be detected automatically, proceed as follows:

  1. Select the required mode (fields or static elements)
  2. Select the type of a field or static element with the help of an appropriate button on the toolbar
  3. Press Shift
  4. Left-click in the field or static element region


Static elements

Static elements are used for Document Definition matching and identification. No data is extracted from them.

To work with static elements in the Document Definition editor, switch to static elements mode by clicking the [image] button.

Static elements can be used for Document Definition matching and identification. Their method of use is determined when you configure element properties. Anchors are used to match the Document Definition with the form image. Identifiers are required for determining to which forms pages belong where various forms are processed in a single flow. For details, see Creating machine-readable forms.

Static elements have no names, only regions on the image.

When a Document Definition is applied to a document image, the program searches for static elements and selects a Document Definition based on their location. Recognition of values of static elements (text and barcode) is performed only in case when it is required for identification purposes. See Specifying identifier values.

The program works with static elements of the following types:

Static element | Toolbar button
Anchor |
Separator |
Anchor text |
Anchor barcode |

The program searches for anchors automatically when an image is added.

How to create a static element manually:

  1. Select the static elements mode
  2. Select the tool for creating an element of the required type
  3. Place the cursor in the corner of the element, left-click and drag diagonally to the opposite corner
    or
    use Shift-Click in the element region.

The static element region will be framed with a rectangle. Its color depends on the static element type. The static element is assigned default properties.

How to change the properties of a static element:

  1. Highlight the element region on the image, right-click and select Properties… from the shortcut menu.
  2. Modify static element properties in the dialog box that opens.

Read more about static elements:

  • Anchors
  • Separators
  • Anchor text
  • Anchor barcode


Anchors

Anchors - static elements are highlighted on the image automatically.

To highlight anchors manually:

  1. Switch to the static elements mode
  2. Select [image] on the toolbar

  3. Place the cursor in the corner of an anchor, left-click and drag the cursor diagonally to the opposite corner.

    or

    Use Shift-Click in the anchor region.

Anchor properties

To modify anchor properties:

  1. Highlight the anchor;
  2. Right-click in the anchor region and select the Properties… item from the shortcut menu
  3. Modify properties in the dialog box that opens:
    • Use for Document Definition matching – this option must be enabled for the program to use the anchor for Document Definition matching (recommended)
    • Use for Document Definition identification – enable this option to use the anchor for Document Definition identification
    • Anchor type – for correct Document Definition matching it is important to specify the anchor type: black square, cross or corner


Anchor text

Anchor text - static element. This is any static text on the image – headers, explanatory signatures.

To highlight anchor text:

  1. Switch to the static elements mode
  2. Select [image] on the toolbar
  3. Position the cursor in the corner of the anchor text, left-click and drag the cursor diagonally to the opposite corner.

    or

    Shift-click in the anchor text region.

Anchor text properties

To modify anchor text properties:

  1. Highlight text
  2. Right-click in the anchor text region and select Properties… from the shortcut menu
  3. Modify properties in the dialog box that opens:

    On the General tab:

    • Use for Document Definition matching – this option must be enabled for the program to use the anchor text for Document Definition matching.
    • Use for Document Definition identification – enable this option to use the anchor text for Document Definition identification.
    • Value – if you are using anchor text as an identifier, you can set its value. To automatically insert a value, click the Hint button.
    • Max number of errors - here you can specify the maximum number of allowed errors in the anchor text string.

    On the Recognition tab you need to configure recognition options for the static text to be recognized with maximum accuracy:

    • ICR (hand-printed) – enable this option if static text is handprinted.

    • OCR (printed) – enable this option if static text is printed. Select the print style from the dropdown list (typographic, dot-matrix printer, typewriter, etc.). See also Supported text types.

    • Advanced – use this option to select several text types or specify a custom text type.

    • Data type – select the language of the text. Use the Select… button to make your selection.

    • Letter case – select the case of static text letters; if the text has both lowercase and uppercase letters, leave the Auto value.

    • Orientation – specify the text orientation.

    • Enable the One line option for one-line text.

    • If the text does not contain blanks, i.e., consists of a single word, enable the One word option.

    • Configure image processing options during recognition:
    • Invert – inverts the image.
    • Remove texture – removes texture.
    • Despeckle – enable this option to remove garbage from the image.
    • Clear the garbage of specified size only – enable this option if you want to remove garbage of only specified size. Specify garbage size. If this option is disabled and only the Despeckle option is enabled, garbage size will be selected automatically.


Separators

Separators are static elements. These are any horizontal or vertical lines on the image.

To highlight separators:

  1. Switch to the static elements mode
  2. Select [image] from the toolbar
  3. Place the cursor in the corner of a separator, left-click and drag the cursor diagonally to the opposite corner.

    or

    use Shift-Click in the separator region.

Separator properties

To modify separator properties:

  1. Highlight the separator
  2. Right-click in the separator region and select the Properties… item from the shortcut menu
  3. Modify properties in the dialog box that opens:
    • Use for Document Definition matching – this option must be enabled for the program to use the separator for Document Definition matching
    • Use for Document Definiition identification – enable this option to use the separator for Document Definition identification.


Anchor barcode

Anchor barcode - static element.

Important! A barcode can be highlighted as a field or as a static element. This depends on the barcode value in the documents being processed: if it is for Document Definition matching or identification, you need to create it in static elements mode. If a barcode is intended for data capture, you have to create it in field marking mode. Barcode properties differ depending on whether it is a field or static element. This section describes the properties of a static element – an anchor barcode, see also barcode field.

To highlight an anchor barcode:

  1. Switch to static elements mode
  2. Select [image] from the toolbar
  3. Position the cursor in the corner of a barcode, left-click and drag the cursor diagonally to the opposite corner

    or

    use Shift-Click in the barcode region.

Properties of an anchor barcode

To modify the properties of an anchor barcode:

  1. Highlight the barcode
  2. Right-click in the barcode region and select the Properties… item from the shortcut menu
  3. Modify properties in the dialog box that opens:

    On the General tab:

    • Use for Document Definition matching – this option must be enabled for the program to use the barcode for Document Definition matching
    • Use for Document Definition identification – enable this option to use the barcode for Document Definition identification
    • Value – if you are using an anchor barcode as an identifier, you can set its value. To automatically insert a value, click the Hint button
    • Required for Document Definition matching – if this option is selected, the Document Definition will be matched only if the barcode is matched. Select this option if there are many very similar Document Definitions in the batch that can be distinguished only by the values of their barcodes or even by the values of one of their several barcodes. In this case, selecting this option will speed up Document Definition selection. Do not select this option if you wish the Document Definition to be matched even if there is no barcode or if it is too faint.

    On the Recognition tab:

    • Code type – specify the barcode type (this is normally determined automatically)
    • Orientation – specify the barcode orientation.

    You can also configure barcode image processing options:

    • Invert – inverts the image
    • Remove texture - removes texture
    • Despeckle – enable this option to remove garbage from the image
    • Clear the garbage of specified size only – enable this option if you want to remove garbage of only specified size. Specify garbage size. If this option is disabled and only the Despeckle option is enabled, garbage size will be selected automatically.


Specifying identifier values

Identifiers serve to determine to which form a page belongs and are used to select a Document Definition where the batch contains several Document Definitions with the original set of anchors. In the event of simultaneous processing of several forms in a single flow, the program determines what form this page belongs to based on the location of identifiers.

If an anchor barcode or anchor text is used as an identifier, you can specify the values of such identifiers. In this case when applying a Document Definition the program will compare recognized data in the image with the value of the identifier, and the Document Definition match will be possible only if these values match.

The values of identifiers can be set in the properties dialog box of static elements on the General tab. Values of text and barcodes can be entered automatically. The Hint button is intended for this purpose.

Note: If it is possible to identify a page with absolute certainty based on the location of elements alone, you do not have to set the values. You should use this functionality only when absolutely necessary because assigning the identifier value launches the recognition module at the stage of Document Definition application, thereby slowing down the matching of Document Definitions with images.


Creating fields of a Document Definition

Fields are intended for data extraction.

To work with fields in the Document Definition editor, switch to field marking mode by clicking the [image] button.

All regions on the image intended for data capture must be marked as fields. Data in these fields are recognized and their value can be exported.

Fields have names, the lists of which are displayed in the document structure window. Normally, fields have a region on the image, but you can also create fields without a region (for example to store intermediate results).

The program recognizes the following field types:

Field | Toolbar button
Text entry field |
Checkmark |
Checkmark group |
Barcode |
Picture |
Table |
Field group |

To create a field:

  1. Select the field marking mode.
  2. Select the tool for creating a field of the required type.
  3. Position the cursor in the corner of the field, left-click and drag the cursor diagonally to the opposite corner
    or
    Shift-Click in the field region.

The field region will be framed with a rectangle. Its color depends on the field type.

The created field is assigned a default name corresponding to the explanatory text that is nearest to the field region. This name will appear in the field list on the Fields tab in the document structure window.

The field is assigned default properties.

A field can also be created the following way:

  1. Select the Create Field command from the Edit menu or from the local menu of a page in the field list on the Fields tab.
  2. In the Field Properties dialog box, specify the field properties and click OK.
  3. The new field will be added to the list. It will be marked with a red asterisk as a field without region.
  4. To create a field region, click the [image] button on the toolbar and draw the region area on the image. You will be prompted to select an appropriate field name from the pop-up list.

To exclude an area from recognition, draw a non-recognized region on the the image. For this, use the [image] button.

  • Creating checkmark groups
  • Creating tables
  • Creating a field group
  • How to change a field name
  • Copying, moving, deleting fields
  • Fields without a region
  • Field properties


Creating a checkmark group

A checkmark group combines logically linked checkmarks normally corresponding to mutually exclusive answers to the same question. In this case the program will select one checkmark from the group and export its value. However, this is not an obligatory condition. You can allow the program to mark more than one checkmark in a group (select the relevant option in the checkmark group properties).

One way to create a checkmark group:

To create a checkmark group:

  1. After selecting the [image] tool, create checkmarks belonging to the group.
  2. Select the [image] tool and frame with a rectangle all checkmarks to be included in this group.
  3. Checkmarks inside the rectangle will be highlighted. Their names in the document structure will be combined and placed under the name of the checkmark group. The properties of checkmarks belonging to the same group are identical and cannot be edited individually.

Another way to create a checkmark group:

You do not need to highlight each checkmark belonging to the group.

  1. Without highlighting checkmarks individually, select the [image] tool and highlight with a rectangle all checkmarks to be included in this group.
  2. Checkmarks inside the rectangle will be detected automatically, named and combined into a group.


Creating a field group

Fields can be combined into groups to enable clear presentation of document structures and to create recurring field groups. For example a city, street and building number can be combined into the Home Address group. You can create fields for an Office Address group simply by copying the Home Address field group.

To create a field group:

  1. Create fields to be included in the group.
  2. Select the [image] tool and frame inside a rectangle all the fields to be included in this group.
  3. Fields inside the rectangle will be highlighted. Their names in the document structure will be combined and placed under the name of the field group.

If the form has recurring field groups, after creating one group you can create several instances of the same group. All field properties as well as rules set within the group will work for each group instance. See Fields with several instances.

You can also copy a field group, but in this case the copying will result in the creation of another independent group.


Creating a table

ABBYY FlexiCapture 10 lets you create Document Definitions for documents containing tables. Creating Table fields can considerably simplify configuration, data extraction, and data export from tables. A Table field is a set of same-type columns and recurring lines.

Table columns can be of the following type:

  • text
  • checkmarks
  • barcodes
  • pictures

To create a table:

  1. Select the [image] tool and frame the table region with a rectangle. The table header must not be included in the selected region. An additional table processing tool for deleting a separator will appear on the toolbar:
    Delete Separator
  2. Mark off table cells by drawing the required number of separators. To create separators, click where the separator should be placed. To create vertical separators, place the cursor into the table area, press the Shift key and click once. To create a horizontal separator, perform the same operation holding down the Alt key. You can also detect separators automatically: select the created table and then select the items Autodetect Vertical Separators and Autodetect Horizontal Separators from the local menu.
  3. Create table columns. To create a column, click in the column region and select a column type from the dropdown list.


How to change a field name

Changing a field name

To rename a field:

  • Click the field name in the document structure, right-click and select Rename from the shortcut menu, and enter a new name.

or

  • Click in the field region on the image, right-click and select Suggest Name from the shortcut menu. The field will be assigned a name corresponding to the explanatory text that is nearest to the field region.

or

  • Click in the field region on the image, right-click and select Get Name from Image… from the shortcut menu. Next, highlight with your cursor the explanatory text that can be used as the field name. The field name will change to the selected text.

or

  • Open the field properties dialog box and change the name on the General tab.


Copying, moving, deleting fields

Fields can be copied, deleted, moved, and modified. Names of copied fields have different numbers. To highlight several fields, use Ctrl-Click. The action selected will then be applied to all highlighted fields.

To delete a field, highlight it and press the Delete key or select Delete from the shortcut menu. To delete only the region and keep the field in the document structure, press Shift+Delete or select Delete Region from the shortcut menu for the field. See Fields without a region.


Fields without a region

Field may have no region on the image. Names of fields without a region are marked with a red asterisk in the list. Such fields may be used to store intermediate results of calculations performed with the values of fields being recognized. For example, you can combine the values of several fields with the help of the field values merge rule and save the result to a field without a region.

Fields without a region have all the properties of the field type they belong to. The values of such fields can also be exported.

There are two ways to create a field without a region:

  1. In the Document Definition editor window, select the menu item Edit>Create Field and create a field of the required type. The field name will appear in the list marked with an asterisk. In this case, the program creates a field in the document structure, but does not create its region on the image.
  2. Another way is to delete the region of an ordinary field. Highlight the required field on the image or in the list and select Delete Region from the shortcut menu. The region will be deleted and the field name will be marked with a red asterisk.

To create a region for fields that do not have a region on the image, select [image] on the toolbar and highlight the required region with your cursor. If the list contains fields marked with an asterisk, the program will ask you to select the name of one such field.


Exclusion of a region from recognition

Sometimes it is necessary to exclude a certain region from recognition, for example, a region with explanatory text that complicates data extraction from the field.

To exclude a region from recognition, select the [image] tool and highlight the region to be excluded with your cursor.


Creating a field with a non-rectangular region

Sometimes it is necessary to create fields with non-rectangular regions, as exemplified by the questionnaire:

To create a non-rectangular field region:

  1. Select the tool for creating a field of the required type.
  2. Select a rectangular region where you can add or remove fragments to create a region of the required shape.
  3. Select the tool [image] and make sure that the rectangular region is highlighted.
  4. To add a fragment to the region: press Shift (the cursor will appear as a "plus" sign) and highlight a fragment you want to add.
  5. To exclude a fragment from the region: press Alt (the cursor will appear as a "minus" sign) and highlight a fragment you want to exclude.


Fields with several regions

A field can comprise several regions on the image. These regions may be located a distance apart from each another or even on different pages. Values from all regions of the same field are combined and exported together as one field.

It is convenient to create several regions for fields located on several pages, for example, for large tables.

Show example

To create a field with several regions, proceed as follows:

  1. Create a field.
  2. Highlight it, right-click in the field region and select Continue Region… from the shortcut menu.
  3. Move the region image to the required location on the page.


Fields with several instances

Recurring elements may occur in your fields. These are fields and field groups that occur in the form a number of times and describe similar objects, such as the same details of several employees, children, accounts, etc. Fields with several instances are created for such objects.

Any field can have several instances. Their regions can be located at a distance from one another or even on different pages. Field instances have the same properties. They are exported to separate files or database tables.

You can create several instances for a field group if the form has recurring groups.

Show example

To create a field with several instances, proceed as follows:

  1. Create a field
  2. Highlight it, right-click in the field region and from the shortcut menu select New Instance…
  3. Move the region image to the required location on the page.


Field properties

It is very important that the properties of each field are configured correctly. Field properties affect the quality of their recognition and determine whether their values will be exported and submitted to the operator for verification. Certain properties are very important for data recognition. For example, the marking method of the text entry field: if it is configured incorrectly, the marking that does not disappear during scanning will not be separated from characters, and the recognition results may be unsatisfactory.

Fields of each type have their own set of properties. When you create a field of a certain type on the image, it is assigned default properties.

How to change field properties:

  1. Highlight the field name in the document structure or the field region on the image, right-click and select Properties… from the shortcut menu.
  2. Modify field properties in the dialog box that opens.

Read more about field properties:

маркированный список | Text entry fields
маркированный список | Checkmarks
маркированный список | Checkmark groups
маркированный список | Barcodes
маркированный список | Pictures
маркированный список | Tables
маркированный список | Field groups
маркированный список | Service fields


Text entry field

When you create a text field, it is assigned default properties. You can change properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises five tabs for different groups of properties:

Basic properties
Data types
Recognition properties
Verification properties
Rule validation


Basic field properties

You can configure basic field properties on the General tab.

On this tab the field type is displayed as an icon to the right of the name.

  • Name – field name. The name is assigned automatically when the field is created and corresponds to the explanatory text closest to the field. When editing the properties, you can change the name assigned by default. See also How to change the field name.
  • Caption – the name of the field that will be displayed in the data form.
  • Export field value – this option must be enabled if you want to export the field value (enabled by default). You may need to disable this option if, for example, the value of this field is used to obtain the value of a calculated field (see Rule validation), and only the end result has to be exported.
  • Show in data form – this option must be enabled if the field should be visible in the data form (enabled by default).
  • Cannot be blank – enable this option if you want to make it a required field.
  • Read only – enable this option if the field should be accessible only for viewing, i.e. the operator will not be able to modify its value. You can enable this option for fields whose values have to be calculated automatically using a rule, for example, for a field where you plan to save the sum or combine other fields (see Rule validation).
  • Index field – enable this option if you expect to use this field to perform document indexing. When processing documents, you will be able to display the value of this field for each document, and sort and search documents based on the field value.
  • Comment – you can enter any comments.


Data types of the text entry field

Some of the most important text field parameters, that can affect the recognition quality, preliminary check and field data modification, are data type settings.

With the help of data type parameters of the text field you can specify:

the type of field content that allows you to tell the program what data type is expected in the field. It can be digits, a number, a date, symbols from a particular set, a word from a dictionary (first name, last name, city, country, etc.) or something else. The program uses the content type during recognition of text field data. Correctly specified field content improves the recognition quality, increases the confidence level of recognized symbols and, as a result, reduces the time of operator's work at the stage of data verification. The procedure of specifying contents types is very flexible. The user can not only select variants from a set of content types provided for a chosen recognition language, but also create his own custom types based on alphabet, regular expression or user dictionary, suitable for a particular purpose;

parameters of autocorrection that allow you to implement an automatic correction of recognized field values, e.g., replace or remove excess symbols, spaces, change the letter case, etc. These parameters enable an automatic data conversion to the form reqiured for export and reduce the operator's manual work spent on correcting field data. When specifying autocorrection options, you can either use standard parameters or create a custom script to implement a more complex field value conversion. For details, please see Processing entered values;

value validation parameters which are used to specify the format of the entered value and restrict, for example, the values of text length validation, minimal and maximal values for a number, time interval for a date, etc. You can also restrict the list of admissible value by using an external source: a text file or a database. Value validation parameters and restrictions depend on the chosed type of the field content. If recognized data and value validation parameters mismatch, format errors will be output in the documents window at the verification stage.

Note: In the field data type settings the user list of values (loaded from file or database) can be used for:

  • increasing the field recognition quality by providing the program not only with the symbols alphabet, but also the list of possible words. Values from this list are used by the program during the recognition process. As a recognition result of a text field the program prompts a variant either identical or closest to a value from the loaded list. If the value being recognized is missing in the dictionary, the recognition process is carried out by using the alphabet only. To solve this problem, you must add a user dictionary in the field content settings.
  • validating an already recognized text value by checking the list of admissible values. Once the field is recognized, its value is searched in the list of admissible values (the list can be either local or from an external source). If the value is not found, a message about a field format error is output. To solve this problem, you must load or connect the list of admissible values in the value validation settings.

The data type for the text entry field can be specified on the Data Type tab of the field properties dialog box. Depending on the type of contents, the properties view in the field properties dialog box may vary.

Text
  1. If this field will contain text, select Text from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, the use of dictionaries, or specify a narrower data type, click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • For the standard text type (i.e. General is selected in the Content settings list), you can use a built-in dictionary and/or a custom dictionary. In this case, the value of the field will be checked against these dictionaries.
      To use a built-in dictionary, select the option Use built-in dictionary.
      To use a custom dictionary, select the option Use custom dictionary and click Edit… to edit the dictionary. You can create a custom dictionary either by adding words to one by one (click the Add... button to add a word), or by loading a list of words from a file (click the Load... button and specify the path to the desired file with the extension *.txt or *.dic).
    • The special text type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for text data type.
Number
  1. If this field will contain a numerical value, select Number from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, change the integer to fraction or vice versa, or specify a narrower data type (e.g. a two-digit or a Roman number), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select Integer, if the field must contain an integer. Clear this option if the field must contain a fraction.
    • Select the standard data type (i.e. General is selected in the Content settings list) for an integer or a fraction.
    • The special number type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for numbers.
Important! Do not use the number data type for fields containing numbers which are only formally numbers but actually are used as codes (e.g. credit card numbers, passport series, etc.). Specifying the number data type for such fields may cause errors (e.g. the zeros at the beginning of strings will be dropped). For cases like these, either create a custom text type and specify an alphabet of 0-9 (and add a regular expression if required), or use the number data type anyway but be sure to select the option Process value as text. In the latter case, the value of the field will be processed as text, a custom dictionary can be used to check the value, and the range of possible values can be specified just like for a text value. For details, see Value range constraints for text data type.
Date
  1. If this field will contain a date, select Date from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, change the order of date components, add time or days of the week, or specify a narrower data type (e.g. months are indicated using Roman numbers), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select the desired order from the Date component order list.
    • Select the standard data type (i.e. General is selected in the Content settings list) for dates written in standard formats. For the standard date type, the following additional options are available:
      May include month in words - use this option if months can also be written as words, not just as numbers;
      May include day of week - use this option of dates may include days of the week;
      May include time - use this option if dates may include time.
    • The special date type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Values range constraints for date.
Important! If the date cannot be reduced to a standard format or you are not going to process the values in this field as dates, select the option Process value as text. In this case, the value of the field will be processed as text, a custom dictionary can be used to check the value, and the range of possible values can be specified just like for a text value. For details, see Value range constraints for text data type.
Time
  1. If this field will contain time, select Time from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, change the time format, or specify a narrower data type (e.g. 12-hour format), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. You can choose a desired language from the drop-down list or select the Show all languages option to the right of the Language field.
    • Select the standard data type (i.e. General is selected in the Content settings list) for time written in standard formats.
    • The special date type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. For this, specify a range of values for the Date field. Specified constraints will apply to time field as well. For details, see Values range constraints for date.
Important! If the time cannot be reduced to a standard format or you are not going to process the values in this field as time, select the option Process value as text. In this case, the value of the field will be processed as text, a custom dictionary can be used to check the value, and the range of possible values can be specified just like for a text value. For details, see Value range constraints for text data type.
Amount of Money
  1. If this field will contain an amount of money, select Amount of Money from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language or specify a narrower data type (e.g. a currency code), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select the standard data type (i.e. General is selected in the Content settings list) for the amount of money if the value of the field is a number or a number accompanied by a standard currency symbol or code.
    • The special type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for text data type.
Important! If the amount of money cannot be reduced to a standard format or you are not going to process the values in this field as amounts of money, select the option Process value as text. In this case, the value of the field will be processed as text, a custom dictionary can be used to check the value, and the range of possible values can be specified just like for a text value. For details, see Value range constraints for text data type.
Address
  1. If this field will contain an address, select Address from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, specify a custom dictionary, or specify a narrower data type (e.g. an e-mail address or a ZIP code), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select the standard data type (i.e. General is selected in the Content settings list) for the address. The use of a custom dictionary is recommended in this case. To use a custom dictionary, select the option Use custom dictionary and click Edit… to edit the dictionary. You can create a custom dictionary either by adding words to one by one (click the Add... button to add a word), or by loading a list of words from a file (click the Load... button and specify the path to the desired file with the extension *.txt or *.dic).
    • The special type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for text data type.
Name
  1. If this field will contain a name, select NameName from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, specify a custom dictionary, or specify a narrower data type (e.g. last name or patronymic), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select the standard data type (i.e. General is selected in the Content settings list) for the name. The use of a custom dictionary is recommended in this case. To use a custom dictionary, select the option Use custom dictionary and click Edit… to edit the dictionary. You can create a custom dictionary either by adding words to one by one (click the Add... button to add a word), or by loading a list of words from a file (click the Load... button and specify the path to the desired file with the extension *.txt or *.dic).
    • The special type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for text data type.
Code
  1. If this field will contain a code made up of letters and digits, select CodeCode from the Content list.
    In the Details field, you will see a description of the selected data type. If you wish to change the language, specify a custom dictionary, or specify a narrower data type (e.g. a social security number), click the Edit… button to the right of the description. In the dialog box that opens, you can:
    • Change the recognition language for this field. To change the language, click the "..." button to the right of the Language field. You can select one or several languages.
    • Select the standard data type (i.e. General is selected in the Content settings list) for the alpha-numerical code. The use of a custom dictionary is recommended in this case. To use a custom dictionary, select the option Use custom dictionary and click Edit… to edit the dictionary. You can create a custom dictionary either by adding words to one by one (click the Add... button to add a word), or by loading a list of words from a file (click the Load... button and specify the path to the desired file with the extension *.txt or *.dic).
    • The special type (i.e. Special is selected in the Content settings list) contains predefined data types, from among which you can select the data type suitable for the given field. When selecting a data type, consult its description that appears at the bottom of the dialog
      box. You can also create your own custom data type, if neither of the predefined types suits your purposes. For details, see Creating custom data types.
  2. For any data type, the program can automatically process the entered values: remove excess spaces, change letters to uppercase or lowercase, or automatically replace specified characters or text fragments. To enable automatic processing of values, click the Edit… button next to the AutoCorrect options field. In the dialog box that opens, select the required automatic processing options. For details, see Processing entered values.
  3. You can also set up value validation for the field so that the program will check if the entered value is within the range you specified. To specify a range of values for the field, click the Edit… button to the right of the Validation field. For details, see Value range constraints for text data type.


Creating custom data types

To create a new data type, select the desired item from the Content list on the Data Type tab of the field's properties. You can select any item from the list that corresponds to the semantics of your custom data type: this will not affect the nature of the new data type, but it will be stored in the selected category.

Click the Edit… button to the right of the Details field.

In the dialog box that opens, select Special in the Content settings field.

Click the New… button to the right of the Data types for selected language field.

Follow the instructions of the data type creation wizard.

In the first window pf the wizard, select how your data is to be created. You can create a new data type based on a dictionary, a regular expression, an alphabet, or an existing data type (e.g. by adding desired characters to its alphabet or by expanding its dictionary).

To create a new data type based on a dictionary, a regular expression or an alphabet:

  1. Select New data type based on and then select the basis to be used for your new data type: a dictionary, a regular expression or an alphabet. Then select Language (locale) for your data type and click Next.
  2. If you choose to create a new data type based on a dictionary, in the next window the wizard will prompt you to select the type of dictionary to be used.
    Select Use built-in dictionary if you wish to use the built-in dictionary for the language selected in the previous window. To check if the dictionary contains a particular word, click View… and type the word. Clicking the View button will either display the inflected forms of the word or a warning message saying that there is no such word in the dictionary.
    Select Use custom dictionaries if you wish to use a custom dictionary and click Edit… to edit the dictionary. You can create a custom dictionary either by adding words to one by one (click the Add... button to add a word), or by loading a list of words from a file (click the Load... button and specify the path to the desired file with the extension *.txt or *.dic). Click Next.
    Note: For a custom dictionary that contains words of the following type:

    201.01.063.030
    201.01.063.031
    201.01.063.040

    a *.txt file with the following data must be created:

    DICTIONARY_PROPERTIES=USE_CONFIDENCE
    201.01.063.030 100
    201.01.063.031 100
    201.01.063.040 100

  3. If you choose to create a new data type based on a regular expression, the wizard will prompt you to enter a regular expression. Use the [image] button to the right of the regular expression field to build your regular expression. For details, see Alphabet used in regular expressions. Click Next.
  4. If you choose to create a new data type based on an alphabet, or if you used characters in the regular expression that are not included in the alphabet of the language, the wizard will prompt you to specify an alphabet for your data type. You can either type the desired characters directly on the keyboard, or click Customize… and then use your mouse to select the desired characters.

    To add punctuation marks and excluded (prohibited) characters, click Advanced Parameters…. You can either type the prohibited characters directly on the keyboard or click the button to the right and use your mouse to select the desired characters.

    Click Next.

  5. In the final window of the wizard, type in a name for your new data type and a short description. If you wish to edit the properties of the newly created data type, select the Edit properties option. Click Finish.

To create a new data type based on an existing data type:

  1. In the first window of the data type creation wizard, select Data type based on existing types. Select the desired language(s) and click Next.
  2. In the next window, select the source data type(s) based on which you are going to create your new data type. The data types that correspond to the selected languages are listed in the Available data types in the left-hand side of the dialog box. The Text folder contains the natural languages selected in the first window. The Custom folder contains the data types created by users. The other folders contain the data types corresponding to the category and the special type of content.
    To select a source data type, select it in the Available data types field (hold down the Ctrl key to select more than one) and then click Add -> to transfer it to the right pane. Click Next.
  3. In the final window of the wizard, type in a name for your new data type and a short description. If you wish to edit the properties of the newly created data type, select the Edit properties option. Click Finish.

The newly created data type will appear in the list of predefined data types when you select the content that was selected when creating the data type.

To specify the newly created data type for your field:

  1. On the Data Type tab of the field properties dialog box, select the desired item in the Content list;
  2. Click the Edit… button to the right of the Details field;
  3. In the Content settings list, select Special;
  4. In the list that appears, select the data type you created (custom data types are marked with a special symbol) and click OK.


Value range constraints for text data type

In the Validation Settings dialog box you can specify the value range constraints for text entered into the field.

Note: The program will treat as text type not only the data types with Text content, but also data types with other content for which the Process value as text option is selected.

  • Maximum length – specify the maximum length of text in the field;
  • In the Content constraint field, select Regular expression from the list if a regular expression should be used to check field values.

    The [image] button will help you to form a regular expression correctly. For details see Alphabet used in regular expressions.

    To make error messages more readable, in the Regular expression description field, provide a description of the regular expressions that will be used in error messages.

  • In the Content constraint field, select Allowed values from the list if you need to specify a list of allowed values. To add a value, click Add… and enter the value. To edit a value click Edit…, to delete a value, click Delete. To load possible values from a file, click Load…
  • Select the Use external source of allowed values option if recognized values need checking in the list of admissible values from an external text file or a database. To specify the source of values, click the Edit… button. In this type of check the list of admissible value is not copied to the project and connection to the external source is carried out straight during the check.
  • Treat validation error as warning – Select this option if you wish any non-compliance with the constraints you specified to be treated as a warning. Warnings do not prevent the operator from sending documents to the next processing stage, while for uncorrected format errors, an additional confirmation from the operator is required before sending.


Value range constraints for numbers

To specify the vale range constraints for numbers:

  1. Enable the option Use constraints.
  2. Specify the minimum and maximum number values.
  3. Treat validation error as warning – Select this option if you wish any non-compliance with the constraints you specified to be treated as a warning.

When processing documents, the program will check whether the entered value is within the specified interval.


Values range constraints for date

In the Validation Settings dialog box you can specify the interval for the date entered in this field.

  1. Enable the option Date must be within the following interval.
  2. Select Fixed to set a fixed time interval or select Relative to verification date to set a time interval relative to the document verification date.
  3. Enter the beginning and end of the interval.
  4. Treat validation error as warning – Select this option if you wish any non-compliance with the constraints you specified to be treated as a warning.


Processing the entered value for text data type

Processing entered values

For any data type, you can perform automatic processing of the entered value: remove white spaces, convert letters to uppercase or lowercase, automatically replace specific characters or text. To enable automatic processing of field values, on the Data Type tab of the field properties dialog box, click the Edit… button to the right of the AutoCorrect options field.

Select the desired automatic processing options.

If Apply AutoCorrect only once after recognition is selected, automatic processing is performed only once after the field value is recognized. Otherwise, automatic processing is performed each time the value in the field changes.

  • To perform automatic replacement of characters in the recognized field value, click the Edit… button to the right of the Replace characters field. In the dialog box that opens you can add characters for automatic replacement. Added values are sorted in alphabetical order. If the specified characters occur in the recognized field value, they will be replaced automatically. You can specify the following replacement parameters:
    1. In the Replace field, enter one or more characters to be replaced.
    2. In the With field enter a character or a string for replacement.
      Note: The string can apply if replacement is done in the whole text. For other options (Prefix, Suffix, Prefix and Suffix), only the first character applies.
      Show me the example

      As replacement is done in Prefix, "A" is replaced with the first character of the replacement string.

      As replacement is done in Whole text, each character of the "ENT" string is replaced with "WXY".

    3. In the Where field choose whether to replace specified characters in prefix, suffix, both prefix and suffix or in the whole text.
      If Prefix is selected, all consecutive characters specified in the Replace list will be replaced starting from the beginning of the text. For Suffix, character replacement is done starting from the end of text.
      For example, if you choose to replace " B" with "%" and "AC" with "#" in prefix, the string "ABC ENTERTAC CORP" will be converted to "#%#%ENTERTAC CORP".
      Show me the example

  • To perform automatic replacement of the entire recognized field value or separate words in the field value, click the Edit… button to the right of the Replace text field.

    In the dialog box that opens you can add words and expressions for automatic replacement. To replace only whole fields, select Match entire field contents.

    If you enable the option Exact search, the program will search and replace the exact word or expression you have entered, or if you enable Fuzzy search, the program will search and replace a word or expression that is similar to the one you have entered. The number of allowable errors depends on the length of the word.

    Enable the option Match case for case-sensitive replacement words or expressions.

  • Choose one of the method of text letters conversion in the Change capitalization dropdown list:

    None – without conversion;

    UPPER – all letters will be changed to uppercase;

    lower – all letters will be changed to lowercase;

    First upper – the first letter will be uppercase and the remaining ones - lowercase.

  • Remove excess spaces – enable this option if you want to remove whitespaces.

You can also use an autocorrection script for auto-replace: select the Use script option, click Edit… to open the script editor, and type in the code of the script.


Text field recognition options

Recognition properties are set on the Recognition tab of the field properties dialog box (Properties… item in the field's shortcut menu). Correctly determined field values will considerably increase recognition quality and reduce the likelihood of errors.

In the Filling type field, select the desired recognition mode: Standard recognition, Do not recognize or Script recognition.

For the Standard recognition mode, specify the following options:

  • ICR (hand-printed) – enable this option if static text in this field is handprinted.

  • OCR (printed) – enable this option if static text in this field is printed. Select the print style from the dropdown list (typographic, dot-matrix printer, typewriter, etc.). See also Supported text types.

  • Advanced – use this option to select several text types or to specify a custom text type.

  • Marking type – select the marking type; to simplify your choice, select samples from the dropdown list. If the marking disappears during scanning, your marking type is monospaced (gray boxes). If the marking does not disappear during scanning and is divided into cells for character spaces, you must enter the total number of cells. When the program detects fields with such marking automatically, the number of cells is also determined automatically.

  • Letter case – select the case of letters in the field. If both lowercase and uppercase letters are possible, leave the Auto option enabled.

  • Orientation – specify the text orientation.

  • Enable the One line option for one-line fields.

  • For fields whose value will always consist of a single word, enable the One word option. Select this option if you want to apply a regular expression to the whole field irrespective of the number of words in it.

  • Configure image processing options during recognition:

    • Invert – inverts the image.
    • Remove texture – removes texture.
    • Despeckle – enable this option to remove garbage from the image.
    • Clear the garbage of specified size only – enable this option if you want to remove garbage of only specified size. Specify garbage size. If this option is disabled and only the Despeckle option is enabled, garbage size will be selected automatically.

    Select the Do not recognize mode if the field cannot be recognized for some reason (for example, if the text in the field consists of fused letters), and the operator is to enter its value manually. In this case, you do not have to configure other recognition properties because this field will not be recognized, and the operator will be asked to enter the field value during verification.

    Select the Script recognition mode if you want to use a custom recognition or initialization algorithm. For more details, see Custom recognition script.


Field Verification Properties

Verification is performed by the operator and is the process of checking recognized data. Uncertainly recognized characters are marked by the program and submitted to the operator for verification. However, you can configure field properties so that the program will submit a field for verification even if it does not contain uncertainly recognized characters. Conversely, it will not be submitted for verification even if it contains uncertainly recognized characters. The operator sees a recognized character and its image and either confirms the recognition result or corrects it.

When creating a Document Definition, you can configure verification options on the Verification tab of the field properties dialog box.

For the field to be verified by an operator, select Need verification.

Configure the character display parameters:

  • If you need to highlight the characters for verification, select Highlight all characters;
  • If you don't need to highlight the characters, select Do not highlight characters;
  • If you need to highlight the characters depending on recognition certainty, select Highlight characters if confidence level less than and, in the drop-down list, specify the lowest certainty level possible before the characters are highlighted.

Group verification

  • For the field characters to be sent to group verification, select Send characters to Group verification.
  • Select the characters to be sent to group verification: highlighted characters only or all characters.
  • Select the set of characters for group verification: Digits only or Custom. Change the user-defined set of characters by clicking Modify… if necessary.

Field verification

  • For the field to be sent to field verification, select Send to Field verification.
  • Select, in which case the field is to be sent to field verification: always or if field has highlighted characters or errors of format.
  • Enter the Grouped fields name if you want the field to be sent to verification in a group. For fields to be grouped in the Field verification stage, the corresponding option must be selected on the Verification tab of the Project Properties dialog box.

Double verification

  • If double verification is required, select Need double verification.


User Script

User Script (Custom Action)

User script is a custom scripting rule triggered by the user when viewing a field during field verification or in the document editor. The script is triggered by clicking … to the right of the field value.

You can set the custom script on the Custom Action tab of the field properties dialog box (right-click on the field and select Properties... from the context menu). To add or delete fields information about which will be available in the user script, use the Add… and Delete buttons. To edit the script, use the Script Editor window which opens when you click Edit…

To make the script accessible to the Operators, select Enable Custom Action.

Note: The User script cannot be applied in the Web Data Verification station.

For details on script parameters see User script.


Checkmarks

Important! The properties of checkmarks combined into groups are configured for the entire checkmark group. If you attempt to edit the properties of a checkmark belonging to a group, a dialog box for editing checkmark group properties will open.

When you create a checkmark field, it is assigned default properties. You can change properties by selecting Properties… in the shortcut menu. The properties modification dialog box comprises five tabs for different groups of properties:

Basic properties
Recognition properties
Data types
Verification properties
Rule validation


Basic field properties

You can configure basic field properties on the General tab.

On this tab the field type is shown as an icon to the right of the name.

  • Name – field name. The name is assigned automatically when the field is created and corresponds to the explanatory text closest to the field. When editing the properties, you can change the name assigned by default. See also How to change the field name.
  • Caption – the name of the field that will be displayed in the data form.
  • Export field value – this option must be enabled if you want to export the field value (enabled by default). You may need to disable this option if, for example, the value of this field is used to obtain the value of a calculated field (see Rule validation), and only the end result has to be exported.
  • Show in data form – this option must be enabled if the field should be visible in the data form (enabled by default).
  • Read only – enable this option if the field should be accessible only for viewing, i.e., the operator will not be able to modify its value. You can enable this option for fields whose values have to be calculated automatically using a rule, for example, for a field where you plan to save the sum or combine other fields (see Rule validation).
  • Comment – you can enter any comments.


Data types for checkmarks

The data type for checkmarks can be set on the Data Type tab of the field properties dialog box.

The data type for checkmarks determines the values to be assigned to the checkmark field for a selected and unselected checkmark.

Select the appropriate options for checkmark values:

  • Yes / No – if the checkmark has been selected, the field value is "Yes", if unselected – "No".
  • 1 / 0 – if the checkmark has been selected, the field value is 1, if unselected – 0.
  • <Checkmark name> / Empty – if the checkmark is selected, the field value will match the checkmark name, if unselected – the field will be assigned an empty value.
  • Custom – by enabling this option you can enter your custom values, Selected – for a selected checkmark, Not selected – for an unselected checkmark.


Checkmark recognition properties

Recognition properties are set on the Recognition tab of the field properties dialog box (Properties… in the shortcut menu for the field). Correctly determined field values will considerably increase recognition quality and reduce the likelihood of errors.

  • Checkmark type – select the checkmark type. This property is very important for correct checkmark recognition.

    Square – select this checkmark type if checkmarks are placed in restricted square frames.

    Without Frame – select this checkmark type if checkmarks are placed against a white background without frames.

    Auto – if you select this type, the program will automatically determine the checkmark type.
    Important! Please note that in this case the checkmark on the form must not be selected, because the program detects whether or not the checkmark is selected by comparing the image of the checkmark on a processed document against the image of the blank form used to create the Document Definition.

  • Allow corrections – enable this option if you want to allow corrections of any checkmarks: in this case inked out checkmarks will be considered unselected. But if you have selected the Auto type, you may not allow corrections of such checkmarks.

    • You can configure field image processing options:

  • Invert – inverts the image
  • Remove texture – removes texture
  • Despeckle – enable this option to remove garbage from the image.
  • Clear the garbage of specified size only – enable this option to remove garbage of a specific size only. Specify garbage size. If this option is disabled and only the Despeckle option is enabled, the garbage size will be selected automatically.


Field Verification Properties

Verification is performed by the operator and is the process of checking recognized data. Uncertainly recognized characters are marked by the program and submitted to the operator for verification. However, you can configure field properties so that the program will submit a field for verification even if it does not contain uncertainly recognized characters. Conversely, it will not be submitted for verification even if it contains uncertainly recognized characters. The operator sees a recognized character and its image and either confirms the recognition result or corrects it.

When creating a Document Definition, you can configure verification options on the Verification tab of the field properties dialog box.

For the field to be verified by an Operator, select Need verification.

Group verification

  • For the characters of the field to be sent to group verification, select Send characters to Group verification.
  • Select the characters to be sent to group verification: highlighted characters only or all characters.

Field verification (for Checkmark groups only)

  • For the field to be sent to field verification, select Send to Field verification.
  • Select, in which case the field is to be sent to field verification: always or if field has highlighted characters or errors of format.

Double verification

  • If double verification is required, select Need double verification.


Checkmark groups

Important! Group properties apply to all checkmarks belonging to a checkmark group.

The value of a checkmark group is a list of the names of the selected checkmarks separated by a semicolon (;) or an empty string if no checkmarks have been selected.

When you create a checkmark group, it is assigned default properties. You can change the properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises five tabs for different groups of properties:

Basic properties
Recognition properties
Data types
Verification properties
Rule validation


Data types for checkmark groups

The data type for a checkmark group can be set on the Data Type tab of the field properties dialog box.

Allow empty selection – enable this option if at least one checkmark in the group must be selected. In this case, if no checkmark in the group has been selected, the program will display a relevant warning.

Allow multiple selection – enable this option to allow selection of multiple checkmarks in the group. If this option is disabled, the program will display a warning when several checkmarks in the group have been selected.

To change the name of a checkmark, select the line you need and click Edit…. In the dialog box that opens, provide a new name for the checkmark field and a new name to be assigned to the checkmark during export.

You can define the values to be exported for cases when no checkmark fields are selected and for cases when more than one checkmark fields are selected. To do this, select either <No item selected> or <Multiple items…> from the list, click Edit… and in the dialog box that opens specify the desired value in the Exported value field. If no export values are specified: a) an empty string is exported if no checkmark fields are selected, and b) the values of the selected checkmark fields are specified (separated by commas) if several fields are selected.

Creating a checkmark group


Barcode

When you create a barcode field, it is assigned default properties. You can change properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises five tabs for different groups of properties.

Important! A barcode can be highlighted as a field or as a static element. This depends on the barcode value in the documents being processed: if it is intended for Document Definition matching or identification, you have to create it in the static elements mode. Meanwhile, if a barcode is intended for data capture, you have to create it in the field marking mode. Barcode properties differ depending on whether it is a field or static element. This section describes the field properties, see also anchor barcode.

Basic properties
Recognition properties
Verification properties
Rule validation


Data types for barcodes

The data type for barcodes can be set on the Data Type tab of the field properties dialog box.

Select the appropriate options for barcode values:

  • Maximum length – specify the maximum number of characters in the field.
  • Treat validation error as warning – select this option if you wish any non-compliance with the constraints you specified to be treated as a warning. Warnings do not prevent the operator from sending documents to the next processing stage, while for uncorrected format errors, an additional confirmation from the operator is required before sending.


Properties of barcode recognition

Recognition properties are set on the Recognition tab of the field properties dialog box (Properties… from the shortcut menu for this field). Correctly determined field values considerably increase recognition quality and reduce the likelihood of errors.

  • Don't recognize (Key from Image field - will be entered manually) – enable this option if the barcode value will be entered by the operator manually. If so, you do not need to configure the remaining recognition settings.
  • Code type – specify the barcode type (normally determined automatically). Click the Select Types… to specify barcode types manually.

    Note: Detecting barcodes of the QR Code, Aztec and DataMatrix types can slow down the performance, so select them only if barcodes of these types are present in your projects. Detecting barcodes of these types must be done only if at least one Document Definition of the given type contains a fixed or flexible section that uses a 2d barcode (QR Code, Aztec or DataMatrix) or if a 2d barcode is used in a classifier loaded for the batch type.

  • Orientation – specify the barcode orientation.

You can also configure barcode image processing options:

  • Invert – inverts the image.
  • Remove texture – removes texture.
  • Despeckle – enable this option to remove garbage from the image.
  • Clear the garbage of specified size only – enable this option if you want to remove garbage of only specified size. Specify garbage size. If this option is disabled and only the Despeckle option is enabled, the garbage size will be selected automatically.


Field Verification Properties

Verification is the process of checking recognized data and is performed by the operator. Uncertainly recognized characters are marked by the program and submitted to the operator for verification. However, you can configure field properties so that the program will submit a field for verification even if it does not contain uncertainly recognized characters. Or, conversely, you can specify that it will not be submitted for verification even if it contains uncertainly recognized characters. The operator sees a recognized character and its image and either confirms the recognition result or corrects it.

When creating a Document Definition, you can configure verification options on the Verification tab of the field properties dialog box.

For the field to be verified by an Operator, select Need verification.

  • For the field to be sent to field verification, select Send to Field verification.
  • Select, in which case the field is to be sent to field verification: always or if field has highlighted characters or errors of format.


Pictures

On creation, a picture is assigned default properties. You can change properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises four tabs for different groups of properties.

Basic properties
Recognition properties
Exporting pictures
Rule validation


Basic field properties

You can configure basic field properties on the General tab.

On this tab the field type is shown as an icon to the right of the name.

  • Name – field name. The name is assigned automatically when the field is created and corresponds to the explanatory text closest to the field. When editing properties, you can change the name assigned by default. See also How to change the field name.
  • Caption – the name of the field that will be displayed in the data form.
  • Export field value – enable this option if you want to export the field value (enabled by default). You may need to disable this option if, for example, the value of this field is used to obtain the value of a calculated field (see Rule validation), and only the end result has to be exported.
  • Show in data form – enable this option if the field is to be visible in the data form (enabled by default).
  • Comment – you can enter any comments.


Properties of picture recognition

Recognition properties are set on the Recognition tab of the field properties dialog box (Properties… from the shortcut menu for this field).

  • Exclude from recognition – enable this option if the region of a Picture field must be excluded from the recognition regions of the other fields. (This option is only available for a Picture field and ensures compatibility with FormReader 6.5 templates.)


Exporting pictures

In a Document Definition, you can select export settings for each picture. To select picture export settings, right click the desired field, select Properties…, and then click the Export tab. You can select any of the following options:

  • File type: (TIFF, JPEG, PDF, PDF/A, BMP, JPEG2000, PCX packbits, PNG).
  • Quality: For TIFF, JPEG, and JPEG2000 files, you can select the quality of the resulting file, from best to low.
  • Color type: Color, grayscale, halftone (black and white).

You can also set the resolution of the resulting picture: selecting Change resolution to and either type in the desired resolution or select it from the list.

The name of the file the picture will be saved to, is formed automatically based on parameters specified by the user. To specify these parameters, click the Change… button and select desired options in the opened File Naming Options dialog.


Tables

When you create a table, it is assigned default properties. You can change properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises three tabs for different groups of properties.

Basic properties
Columns
Rule validation


Table columns

The Columns tab shows the list of columns of this table. Each table column belongs to a certain field type (see Creating a table) and has properties specific to this field type.

To edit the properties of one of the columns:

  1. Select its name from the list
  2. Click the Properties… button


Field group

When you create a field group, it is assigned default properties. You can change properties by selecting Properties… from the shortcut menu. The properties modification dialog box comprises three tabs for different groups of properties.

Basic properties
Fields
Rule validation


Group fields

The Fields tab shows the list of fields forming the group.

To edit the properties of one of the fields:

  1. Select its name from the list.
  2. Click the Properties… button

Creating a field group


Service Field

When a service field is created, it will have the default properties which can be configured by clicking Properties… on the shortcut menu. The Properties dialog box has two tabs, one for each group of properties

Base Field Properties
Data Source Properties


Data Source Properties

On the Data Source tab, the source and the data type of the service field are specified:

  1. From the Source list, choose a data source for the field.
  2. If you select Document registration parameter or Batch registration parameter, specify the name of the registration property to be used as a data source in the Parameter Name field.
  3. For Data Type, select the desired data type of the service field.


Rule verification

Rule validation

Rules expand the possibilities of automated result checking. Rules make it possible to set data constraints, i.e. to specify conditions that values in certain fields must meet.

If the values in documents do not meet these conditions, such pages are flagged with a warning. The main purpose of rule application is to check the integrity of document data.

You can also process entered values with the help of rules: merge values of several fields or replace recognized values with the relevant values from the database.

ABBYY FlexiCapture 10 lets you configure rules of the following types:

  • Check Sum – checks the sum of several fields. The sum of values of specific fields is compared to a preset number or the value in a different field.
  • Compare Fields – compares the values of several fields.
  • Database Check – checks entered values by comparing them to values from a specific database.
  • Merge Fields – merges the values of several fields. Any separators can be added when merging fields.
  • Script – the user describes constraints with the help of a script.
  • Sum in Figures - Sum in Words (Russian) – compares a numerical sum with the same sum written in words (Russian language only).

The rule can be assigned an error or warning status. When a condition is not fulfilled, the field is marked with a red flag (error) or a yellow flag (warning). See Rule validation.

Rules can be configured on the Rules tab of the object properties dialog box (field, section, document, etc.).

In the hierarchical structure, rules are stored at the level of the object in which they were created: this may be a field, a Document Definition section, or a Document Definition itself. In most cases the rule storage level does not matter. But if you are creating a Document Definition with a complex structure, with field groups or recurring elements, you need to watch where you store rules. For example, if you have a field group and certain fields in the group are linked to a rule, when you create a new instance of this group the rule will be copied and satisfied in the new object only if the rule is stored in the group itself or in one of its fields and not at a higher level. From the object properties dialog box you can view rules that work with this object or rules stored in this object and its subordinate objects. You may specify the rules you want to view by selecting one of the values from the Show in list dropdown list:

  • Rules handling the object – shows the rules applicable to the current object (i.e. the object whose properties dialog box is currently open).
  • Rules stored in the object – shows the rules stored in the current object.
  • Rules stored in the object and its children – shows the rules stored in the current object and in its child objects (for a field group, for example, the rules stored in the group and in all of its fields will be displayed).

Note: A new rule can only be created in Rules stored in the object or in Rules stored in the object and its children display modes. You cannot create a new rule in Rules handling the object display mode.

Each rule has an error or warning status. If you attempt to export documents with rule errors, the program will display an error message. Rule warnings will not prevent export.

Note: If the Show in data form option is deselected in the field properties, then errors associated with this field are not displayed during verification.

Check sum
Compare fields
Check database
Merge fields
Sum in figures - sum in words

A rule set with the help of a script


Values sum check rule

This rule is used to check the sum of values of several fields. The sum of values of specific fields is compared against a preset number or the value in a different field. For example, if your document contains fields with a salary amount, bonus amount, other compensation payments, and a sum total field, you can configure a rule that will check whether the sum of field values matches the sum total in the resulting field. An error message will be displayed in case of a mismatch.

Note: When applying this rule to a field of a Table type, the calculation depends on the level at which the rule is created. If you need to compare the sum of values of all cells of a table column with a calculated or given number, the rule must be created in the Document Definition Properties or in the document section properties. If you need to compare each cell of a column or the sum of all cells of a few table columns with a calculated or given number, the rule must be created in the table properties or in the table column properties.
These direction should also be followed when creating a rule that checks the sum of values for fields with a few instances.

To create a sum check rule, proceed as follows:

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition properties dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button.
  4. From the list of rule types, select Check Sum and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next.
  6. Add to the list Summarize values of fields the fields the sum of whose values you want to check. Use the Add… button to add fields.
  7. Enable one of the options:
    • field – to compare the sum with the value of the resulting field. Select the name of this field using the Select… button.
    • number – to compare the sum with the specified number. Enter this number.
  8. Fractional part of compared values – enter the number of digits after the decimal point of the number to determine the accuracy of comparison.
  9. Enable the option At least two non-empty items to add up if you want at least two non-empty and non-zero summands to be used. Unless this condition is fulfilled, an error will be output in the rule errors window during the check of the rule.
  10. Click Finish to complete rule creation. The rule name will be shown on the Rules tab.


Several field values comparison rule

This rule is meant for checking the values of several fields. It can be used if your document has several fields whose values must be identical. In the event that values do not match, a rule error message is displayed for the document.

To create a values comparison rule, proceed as follows:

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition properties dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button
  4. From the list of rule types select Compare Fields and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next.
  6. Add to the list Fields to compare the fields whose values you want to compare. Use the Add… button to add fields.
  7. Select the match type:
    • Exact – for an exact value match;
    • Fuzzy – for a fuzzy value match. In this case fields will be compared without taking into account the letter case and whitespaces, and one error will be allowed for field values longer than 4 characters.
  8. Click Finish to complete rule creation. The rule name will be shown on the Rules tab.


Database check rule

A database check of field values involves comparing the recognized field value with values in the database table and is considered correct, if the field value is found among values in the database. Otherwise a rule error message is output.

By using this rule you can check an entry of the required value in the database, ensure fuzzy search of a value in the table even if there are misprints or errors in the field value, replace a field value with an original value from the database, copy all required values from the database to the document fields.

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition properties dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button
  4. From the list of rule types select Database Check and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next.
  6. Establish a connection with a database. The required settings can be configured in the Data Link Properties dialog box that opens when you click the Set… button.

    Tip: As OLE DB Provider the following providers are recommended:

    • "OLE DB Provider for ODBC Drivers" for export to SQL. Selecting "OLE DB Provider for SQL Server" may cause problems when working with certain data types and long fields.
    • "Oracle Provider for OLE DB" for export to Oracle.

  7. Select a database schema and table from the list.
  8. Select the Don't check if all fields are empty option to omit the rule check if there are no values in fields involved in comparing. It allows you to save time for the document rules check.
  9. Match the fields in the Document Definition and the fields in the database table. To do so, click the Add… button. The Field Link dialog box will open. Select from the list a Document Definition field and the corresponding field in the database table (data type of the document field and value format from the database must match).
    Select the match type:
    • Exact – field values must match exactly (the letter case is not matched).
    • Fuzzy – field values must match partially. This type of comparison can be used for text fields only. Here, the program searches for the closest words where the least number of letters have to be added, removed or replaced to get the original word. The number of allowable errors depends on the length of the original word. If several variants of values meet the criteria of the fuzzy search, a rule error message "Too many entries found" and the list of closest field values from the database are output in the document window. The operator can select a suitable value from the list.
      Enable the option Copy field value from database if you want the document field value to be replaced with the corresponding value from the database. If during the fuzzy search the required value was found in the database, the document field value will be automatically replaced with the value from the database.

      Note: In case the field is empty no error message appears even if the database does not contain an empty value.

    • Do not compare – comparison will not be performed, the field value will be automatically replaced with a value from the database (in this type of comparison the Copy field value from database< option is always selected).

      • This type of comparison is ofter used if a few values from the database must be copied to the document. For this, empty fields without regions must be created in the Document Definition. The database search for the entry that contains a value for automatic replacement, must be preliminarily set up with a different fields mapping specified with an exact or fuzzy comparison type. If the required entry is not found, the field value will remain unchanged.
  10. Use the Add…, Edit… and Delete buttons to add, edit or remove links between fields.


Field values merge rule

This rule is meant for merging the values of several fields. Merged field values can be separated with a dot, space or other separators.

To create a values merge rule, proceed as follows:

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition properties dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button.
  4. From the list of rule types select Merge Fields and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next. An error for this rule will be displayed if, for example, one of the fields included in the merger has been removed from the Document Definition.
  6. Add to the Fields to merge list the fields you want to include in the merger. Use the Add… button to add fields. Select Result field – a field that will store the merge result. Enter the required separator in the Separator window.
  7. By default, separators will be added between non-empty values. If you want the program to add separators at all times, even for empty field values, enable the option Put separators for empty field values.
  8. Click Finish to complete rule creation. The rule name will be shown on the Rules tab.

The merge result can be stored in any Document Definition field. For this purpose it is convenient to use fields without regions.

If you need to export only the value of the resulting field, and not the values of fields included in the merger, disable the Export field value option for such fields.


A rule set with the help of a script

ABBYY FlexiCapture 10 allows you to configure the data check rule with the help of a script.

To create such a rule, proceed as follows:

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition properties dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button.
  4. From the list of rule types select Script and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next.
  6. The Available Fields list shows a list of available objects. You can add and delete fields with the help of the Add… and Delete buttons. The values of fields with the Read Only option enabled are accessible only for reading, while the values of listed fields with this option disabled can be overwritten with the help of a script.
  7. Click the Edit… button to open a special window for script editing.
  8. Select the scripting language and enter the script text.
  9. The script can be checked by selecting Tools>Check Script in the main menu.
  10. Save the script by selecting File>Save.
  11. Click Finish. The created rule will be displayed in the list of the Rules tab.

For details on the script parameters, see Script rule


Sum in figures - sum in words

Important! This rule can only be set up if you select the Russian recognition language for your Document Definition (Document Definition>Document Definition Properties…).

The purpose of this rule is to compare a numerical sum with the corresponding sum in words written in Russian. If the two sums are not identical, a message is displayed saying that the rule returned an error.

To create a "sum in digits - sum in words" rule, proceed as follows:

  1. Open the field properties dialog box (shortcut menu, Properties…) or the Document Definition dialog box (Document Definition editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click the New Rule… button.
  4. From the list of rule types select Sum in Figures - Sum in Words (Russian) and click OK.
  5. Enter the rule name and select the rule type: Warning or Error and click Next.
  6. Click the Select… button to the right of the Sum in figures field and then select the field of the Document Definition that contains the numerical sum.
  7. Click the Select… button to the right of the Sum in words field and then select the field of the Document Definition that contains the same sum in words.
  8. Click Finish to complete rule creation. The rule name will be shown on the Rules tab.


Value Sum Calculation Rule

This rule is used to calculate the sum of several field values and enter it in the specified field. For example, if the document has fields with the salary, bonus, and other charges, you can set a rule calculating their sum and writing the results in a specific field.

This rule can also be used for calculating a sum of values in a table column. For this, a rule must be created in the Document Definition Properties or in the section properties. The At least two non-empty items to add up option must be deselected.

To create a sum calculation rule, do the following:

  1. Open the Field Properties dialog box (shortcut menu, Properties…) or the Document Definition Properties dialog box (Document Definition Editor menu, Document Definition>Document Definition Properties…).
  2. Go to the Rules tab.
  3. Click New Rule…
  4. On the list of rules, select Calculate Sum and click ОК.
  5. Enter the name of the rule and select the rule type: Warning or Error. Then click Next.
  6. Add fields with values to be added to the Summarize values of fields list. To do it, click the Add….
  7. In the Result field field, specify the field you need to enter the sum in. To do it, click Select….
  8. Select At least two non-empty items to add up if you need at least two non-empty and non-zero summands to be used. Unless this condition is fulfilled, an error will be output in the rule errors window during the check of the rule.

    Note: When applying this option in rule parameters, it is necessary to add at least two document fields (or two table columns) to the addition. So if you use this rule to add values from all cells of a table column, you need not select this option.

  9. Click Finish to finish creating the rule. The rule name will be displayed on the Rules tab.


Configuring Data Export

To specify how to save the data obtained by processing paper documents, you need to set up export for each Document Definition. Five types of export are possible: export to a file, image export to file, export to a database, export to a Microsoft SharePoint library, or scripted export. The type of export you select determines which export settings become available. You can specify more than one export type for a Document Definition.

For each export type, specify which documents should be exported: documents with errors and/or documents without errors.

For each export type, specify whether it is obligatory or not. In the event of export failure (for example, because of a file access denial or a connection error), for the export type specified as Critical, a message about export error is written to the event log and the status Failed is assigned to the task. For non-obligatory export types, a warning is written to the event log and the status Succeeded is assigned to the task if export of this type fails.

During image export, you can hide the images of specific fields (thus redacting confidential information and other sensitive data). The list of fields is defined independently for each of the export types. Thus, it is possible to control employees' access to particular information. To hide fields, select Redact sensitive data from images when configuring image export, then click Select Fields to Redaction… and, in the Select Fields to Redaction dialog box, specify the list of fields, the images of which you want to hide.

Automatic export (for FlexiCapture Standalone) is configured on the Export Destinations tab of the Document Definition properties window. To have documents, which are ready for export, exported automatically (without an operator initializing export by a button click), select the option Enable auto export.
Automatic export works only if the number of pages in Document Definition is specified explicitly. Thus, if recurring pages within a section are allowed or the number of sections is specified with an interval, automatic export does not work.

Note: If documents are exported automatically, batch integrity check is skipped and a warning is written to the log.

When configuring export types, it is possible to specify a path for saving recognized data and/or document images to the file system. When using a full path to a data storage folder, a local or network path can be specified (in UNC format).

If a path to the reciever defined in export settings is relative, that is a name of subfolder, to which documents must be saved, without specifying a full path to this folder, then by default a folder with the specified name will be created in the Export subfolder of the project folder. To define a different path for saving files, specify the Export root path in project properties. All new data storage subfolders will be created relative to the root path. The root path can be either local or network (in UNC format).

To set up export, select Document Definition > Export Settings… in the Document Definition Editor and specify the required export types in the Export Settings dialog box.

Export to file
Image export to file
Export to database
Export to SharePoint
Export described with a script


Data Export to File

To configure export to file, proceed as follows:

  1. In the Document Definition editor window, select the menu item Document Definition > Export Settings…
  2. Click Add… and select Export to data files in the Type field.
  3. Specify whether export is obligatory.
  4. Specify whether images should be exported.
  5. Specify which documents (with and/or without errors) should be exported and click Next>.

  6. Specify the export parameters and click Next>. The adjustable export parameters depend on the value specified in the Type field.

      Recreate filenames and structure of Hot Folder subfolders;

      If you select this value, the folder structure will mimic that in the Hot Folder the document images had been imported from. When configuring this export type, select the folder to mimic the Hot Folder structure in the Export path field.

      Export all documents to one file;

      Select this value to export all data to one file. When configuring this export type, enter the path and the name of the file to export data to in the Export path field.

      Create a separate folder for each batch;

      Select this value to export each document to a separate file:

      • Specify the path and the first characters of the file name in the File prefix field;
      • For each batch to be exported to a separate folder, select Create a separate folder for each batch.
      Create folder structure and filename using template;

      If you select this value, file names and the subfolder structure will form depending on the document parameters.

      • Specify the root export path in the Export path.
      • Specify the file naming options. To do it, click Edit… and specify the necessary rules. For more information, see Export File Naming Options.
      • In the If file exists field, select the action for the program to carry out if a file with the generated name already exists.

      Important! For the export to complete correctly, after the project has been uploaded to the server, make sure the export path is specified in UNC format (\\computer_name\share_name[\path]). Also, make sure all the stations involved in exporting have access to the specified location..

      Export errors will occur, if the path is specified in the following format: <disk:>\[path]. If you specify a relative export path, the data will be accessible via application interface (API) only. To access data otherwise, the root folder for relative paths must be specified in UNC format (this can be configured in Project Properties).

  7. Select the file type (the CSV, DBF, TXT, XLS, and XML formats are supported), specify additional export properties for the selected file type, and select the text encoding, if necessary. Then click Next>.

    Microsoft Office Excel workbook (*.xls);
    • Select the Excel version (5.0/95; 97-2003; 97-2003 (compatible with 5,0/95));
    • Select Preserve value type on export to export the data basing on its types. Clear this option to export all data with the General type;
    • Select Make separate files for repeatable items to export tables and fields with multiple repetitions to separate files. Mind the note;
    • For Excel 5.0/95, select a code page.
    • Configure the field names and format, if necessary. To do it, click Field Mapping and, in the Field Mapping dialog box, specify the field names and the format of fields with numbers and dates.
    XML Document (*.xml);
    • Specify the additional data to be exported (field locations and types, errors, recognition quality data);
    • Select Preserve value type on export if you want to save the xml-scheme with field type descriptions;
    • Select the encoding;
    • Specify the field names, if necessary. To do it, click Field Mapping and, in the Field Mapping dialog box, specify the field names.
    Comma-sepatated values file (*.csv);
    • Select Column separator;
    • Select Make separate files for repeatable items, if you want tables and fields with multiple repetitions to be exported to separate files. Mind the note;
    • Select the encoding;
    • Configure the field names and format, if necessary. To do it, click Field Mapping and, in the Field Mapping dialog box, specify the field names and the format of fields with numbers and dates.
    Text file (*.txt);
    • Select Column separator;
    • Select Make separate files for repeatable items, if you want tables and fields with multiple repetitions to be exported to separate files. Mind the note;
    • Select the encoding.
    • Configure the field names and format, if necessary. To do it, click Field Mapping and, in the Field Mapping dialog box, specify the field names and the format of fields with numbers and dates.
    DBase file (*.dbf);
    • Select Preserve value type on export to export data basing on its types. Clear this option for all the fields to be of the Text type;
    • Select Make separate files for repeatable items, if you want tables and fields with multiple repetitions to be exported to separate files. Mind the note;
    • Configure the field names, if necessary. To do it, click Field Mapping and, in the Field Mapping dialog box, specify the field names.
  8. If you want to save the images, specify the image saving parameters and click Next>.
    • Choose either to save images together with the data or to specify the image folder;
    • Select the image file naming scheme: similar to the data files or otherwise. See Export File Naming Options.
    • Specify the fields that contain images you want to hide during export.
  9. If images should be stored, specify image storage options and click Next>.
    • Select the desired image format, quality, and color.
    • To change the resolution of the source images, select Change resolution to and select the appropriate value from the list.
    • If you select PDF or PDF/A as a storage format, you can create searchable PDF files by selecting Create searchable PDF. For searchable PDF, text layer is formed from verified values of fields and document areas outside fields. For areas outside fields, full-text recognition is performed. In the Search text field, specify where to search text: on all pages, on sections pages or on annexes pages.

      Recognition language is defined the following way:

      • For fields, recognition language is specified on the Data type tab of the field properties.
      • For full-text recognition, the Document Definition language is used.
      • For annexes pages, you can select a language (or several languages in the case of multi-language documents) that is different from the language specified in the Document Definition. For this, click Select… to the right of the Language field and select the appropriate languages. By default, the language of the Document Definition is used.
  10. Enter an export profile name and click Finish.

Note: By default, repeating fields (i.e., fields with multiple instances and tables) are exported into separate files for which a new folder is created. The name of the folder consists of the name of the export file. To disable export of repeating fields into separate files, clear the option Make separate files for repeatable items on the Export Destination Wizard tab (the option is available for all formats except XML). In this case, when repeating fields will be exported into one export file and the program will add a new line for each element instance.


Exporting images to a file

Image Export to File

To export images to a file:

  1. In the Document Definition Editor window, select Document Definition > Export Settings…
  2. Click Add… and select Export to image files in the Type field.
  3. Specify whether export is obligatory.
  4. Specify which documents (with and/or without errors) should be exported and click Next>.
  5. Specify the export parameters and click Next>. The adjustable export parameters depend on the value specified in the Type field.
      Recreate filenames and structure of Hot Folder subfolders;
      If you select this value, the folder structure will mimic that in the Hot Folder the document images had been imported from. When configuring this export type, select the folder to mimic the Hot Folder structure in the Export path field.
      Export all documents to one file;
      Select this value to export all data to one file. When configuring this export type, enter the path and the name of the file to export data to in the Path field.
      Export documents as separate files;
      Select this value to export each document to a separate file:
      • Specify the path and the first characters of the file name in the File prefix field;
      • For each batch to be exported to a separate folder, select Create a separate folder for each batch.
      Create folder structure and filename using template;
      If you select this value, file names and the subfolder structure will form depending on the document parameters.
      • Specify the root export path in the Export path.
      • Specify the file naming options. To do it, click Edit… and specify the necessary rules. For more information, see Export File Naming Options.
      • In the If file exists field, select the action for the program to carry out if a file with the generated name already exists.

      Important! For the export to complete correctly, after the project has been uploaded to the server, make sure the export path is specified in UNC format (\\computer_name\share_name[\path]). Also, make sure all the stations involved in exporting have access to the specified location..

      Export errors will occur, if the path is specified in the following format: <disk:>\[path]. If you specify a relative export path, the data will be accessible via application interface (API) only. To access data otherwise, the root folder for relative paths must be specified in UNC format (this can be configured in Project Properties).

  6. Specify image storage options and click Next>.
    • Select the desired image format, quality, and color.
    • To change the resolution of the source images, select Change resolution to and select the appropriate value from the list.
    • If you select PDF or PDF/A as a storage format, you can create searchable PDF files by selecting Create searchable PDF. For searchable PDF, text layer is formed from verified values of fields and document areas outside fields. For areas outside fields, full-text recognition is performed. In the Search text field, specify where to search text: on all pages, on sections pages or on annexes pages.

      Recognition language is defined the following way:

      • For fields, recognition language is specified on the Data type tab of the field properties.
      • For full-text recognition, the Document Definition language is used.
      • For annexes pages, you can select a language (or several languages in the case of multi-language documents) that is different from the language specified in the Document Definition. For this, click Select… to the right of the Language field and select the appropriate languages. By default, the language of the Document Definition is used.
      Select the Use MRC (mixed raster content) option if you want to achieve a higher speed of recognition and get output files of smaller size. With this option, fields for which the Do not recognize mode is selected can be exported with lower quality.
  7. Enter an export profile name and click Finish.


Export to a database

Export to Database

To configure export to a database, perform the following:

  1. In the Document Definition editor window select the menu item Document Definition > Export Settings…
  2. Click Add… and select Export to ODBC-compatible database in the Type field.
  3. Specify whether export is obligatory.
  4. Specify whether images should be exported.
  5. Specify which documents (with and/or without errors) should be exported and click Next>.

  6. Specify export settings and click Next>.

    • Establish a connection with a database. Enter the connection parameters in the Connection string window or click the Setup Connection… button and configure the connection parameters in the Data Link Properties dialog box.

      Tip: As OLE DB Provider the following providers are recommended:

      • "OLE DB Provider for ODBC Drivers" for export to SQL. Selecting "OLE DB Provider for SQL Server" may cause problems when working with certain data types and long fields.
      • "Oracle Provider for OLE DB" for export to Oracle.

    • Select a schema from the dropdown list.
    • You can check the connection with the database by clicking the Test Connection button.
    • Click the Create Tables Automatically button to automatically create new tables in the database, where data from documents will be exported. A separate table will be created for each document section. The structure and the format of fields in automatically created tables correspond to the set of Document Definition fields and their data types.
    • If it is necessary to export data to existing tables of a database, establish a correspondence between the Document Definition fields and the database table fields using the Setup Fields Mapping… button.
    • In the Field Mapping dialog box specify to what tables and table columns of the database the program will export field values of the Document Definition.
      Details...

      The Field Mapping dialog box on the left contains document sections and fields. On the right, you have to match them to the tables and fields on the database. If the database already has tables for data export, then in the Field Mapping dialog box you need to select a database table for each document section and a database table column for each document field. (Besides direct export to database tables it is possible to save data to a database by using stored procedures. For details, please see Specifics of configuring data export by using stored procedures of databases

      If the database has no tables for export, you can create database tables automatically by clicking the Create Tables Automatically button. After you click it, the program will create tables with a structure that you need for export. Document fields will be matched to table columns.

      Field groups, fields with several instances and document tables are exported to separate tables in the database. A Primary Key and Foreign Key are used to link the main table to subordinate tables. In the main table, a primary key is added to each entry. In the subordinate table, each entry has a foreign key that records the value of the primary key of the corresponding entry in the main table. The primary and foreign keys are added automatically where required. You only need to specify the field to which the key has to be exported.

      Select a column of a database table for each document field.

      If a column, to which data from some field are to be exported, is missing in the table, it can be added to the existing table automatically. For this, it is enough to leave the correspondence of the document field to the database field with a similar name and with the comment (auto) in brackets. Or you can select a desired field with a mouse and click the Auto button.
      You can also use the Auto button to create a new table in the database whose name will be similar to the section or table name of the Document Definition.

      If a new table, whose name and column captions are different from the Document Definition field names, must be created in the fields correspondence settings dialog, use the New button to create a table for each field.

      Use the Move Up and Move Down buttons to manage the sequence order of columns in the automatically created table of a database.

      Use the Format… button to configure parameters of saving typified fields, for example, the number of decimal digits in the field value of Number type or format and separators for a field of Data type.

  7. If images should be saved (document images and/or field images of the <b>Picture</b> type), specify image saving options and click Next>.
    • Specify whether images should be saved to the database or as files.
    • If you choose to save images to files, specify a file naming template (click Edit…) and when files should be overwrite if their names coincide. For more information, see Export File Naming Criteria.
    • If required, specify the fields to be concealed upon export.

    Note: Depending on the selected option, the contents of Picture type fields and document images can be exported to the file system or a database.
    When exporting to separate files, the name and the path to a picture or image file are stored in the corresponding field of a database (it is configured when establishing the correspondence of fields). If a network disk is specified as a path to an export folder (for images, pictures, etc.), make sure that all stations working with this disk can access it. A special procedure allows you to convert a binary image from any database to a file.

  8. If the option to save images was selected, specify a file saving format and click Next>.
    • Select the desired image format, quality, and color.
    • To change the resolution of the source images, select Change resolution to and select the appropriate value from the list.
    • If you select PDF or PDF/A as a storage format, you can create searchable PDF files by selecting Create searchable PDF. For searchable PDF, text layer is formed from verified values of fields and document areas outside fields. For areas outside fields, full-text recognition is performed. In the Search text field, specify where to search text: on all pages, on sections pages or on annexes pages.

      Recognition language is defined the following way:

      • For fields, recognition language is specified on the Data type tab of the field properties.
      • For full-text recognition, the Document Definition language is used.
      • For annexes pages, you can select a language (or several languages in the case of multi-language documents) that is different from the language specified in the Document Definition. For this, click Select… to the right of the Language field and select the appropriate languages. By default, the language of the Document Definition is used.
  9. Enter an export profile name and click Finish.

Note:

  1. Pictures are exported to separate files. The name and path to the picture file can be stored in the corresponding field of the database (this can be set up when mapping fields).
  2. If the path to the target folder for images, pictures, etc. contains a network disk, ensure that all the processing stations working with the project have access to this disk.

Specifics of configuring data export by using stored procedures of databases

Besides exporting data to database tables directly, it is possible to save data to database by using stored procedures.

A stored procedure is a database object representing a set of SQL-instructions which is compiled once, and then stored on the server. Stored procedures can be used to perform numerical calculations and operations on character data, whose results can be assigned to variable and parameters, as well as to carry out standard operations with databases.

Advantages of using stored procedures over direct export to database tables:

  • Speed of working with a database
  • Possibility to use additional calculations
  • Ensuring data integrity

A sample of a shared procedure for MS SQL:

Create procedure Export( @userId as int, @lastName as nvarchar(255), @firstName as nvarchar(255) )
as
begin
if Exists( Select Id from Users where Id = @userId ) begin
Update Users set LastName = @lastName, FirstName=@firstName where Id = @userId
end else begin
Insert into Users ( Id, LastName, FirstName ) values( @userId, @lastName, @firstName
)
end
end

When sending data from FlexiCapture to database by using the procedure above, the following actions are performed:

The three parameters passed to the input of the procedure are the fields of a FlexiCapture document: an identifier (UserId), the first name (FirstName) and the last name (LastName). If there is no entry with such an identifier in the database table (Users), a new entry is added to the table. If an entry with such an identifier exists, the values of the first and last name in this entry are replaced with new values (the values of the FlexiCapture fields).

Configuring export by using stored procedures

In order to configure export by using stored procedures, it is necessary to establish a connection to database first (see above). Further, click the Setup Fields Mapping… to determine correspondence of document fields to parameters of the stored procedure.

In the Setup Fields Mapping… dialog box, select from the list of tables and database stored procedures a required stored procedure for saving data.

Unlike configuring export to columns of a database table directly, the fields proposed for export are parameters of a stored procedure. Procedure parameters are typified. For mapping it is necessary that the parameter type should coincide with the data type of the Document Definition field.

Map the document fields and parameters of the database stored procedure.

Note: If it is necessary to export not only separate fields from the document, but also tables and complex fields (e.g. fields with a few instances), you must set up correct indexes for connecting child entries with the main document data entry. Specify the return value (@RETURN_VALUE) or an output parameter of the stored procedure as an exportable primary key (ROW_INDEX). Thus, when exporting data, the procedure will write data to the database table and return the identifier of the current entry that will be passed to the stored procedure for exporting child entries.


Exporting data to a SharePoint document library

ABBYY FlexiCapture 10 allows you to export documents to a MicrosoftTM SharePoint document library. As a result, you will get a library of your document images with additional columns for each document filled out with value of certain fields.

Note:

  1. The following version of MicrosoftTM SharePoint are supported: MS SharePoint 2003, MS SharePoint 2007 and MS SharePoint 2010.
  2. Administrator rights are required to set up export of data to SharePoint. Contributor rights are sufficient to export data to SharePoint.
  3. The SharePoint columns into which data is to be recorded must be of type Single line of text or Multiple lines of text.

To set up export to SharePoint:

  1. In the Document Definition editor, select Document Definition > Export Settings…
  2. Click Add…
  3. Select Export to SharePoint in the Type field.
  4. Specify whether export is obligatory
  5. Specify which documents (with and/or without errors) should be exported and click Next>.

  6. Specify export settings and click Next>.

    • Server URL (e.g. http://myserver) – enter the address of the server where your SharePoint libraries are located. Use the Connection Settings… button to set up authentication parameters (the Windows authentication parameters are used by default) and Proxy settings if required.
    • Below the server address, the connection status is indicated. If the server is disconnected, click the Connect to re-establish the connection.
    • Once you are connected to the SharePoint server, select a library from the Select SharePoint library list.
    • Click Browse… and locate the desired folder in the library.
    • In the Content type field, select the type of content of your documents (supported starting from SharePoint 2007). In this case you will be able to export values to the fields corresponding to the selected content type.
    • Now specify which Document Definition fields should be exported and where. Click the Setup Fields Mapping… button and select the desired options in the Field Mapping dialog box. In this dialog box, you must establish a correspondence between Document Definition fields and SharePoint document columns. The Document Definition fields are displayed to the left. For each Document Definition field to be exported (with the exception of groups and tables), you can select a vacant SharePoint column.
  7. Specify image saving options and click Next>.
    • Specify a file naming template (click Edit…) and when files should be overwrite if their names coincide.
    • If required, specify the fields to be concealed upon export.
  8. If images should be stored, specify image storage options and click Next>.
    • Select the desired image format, quality, and color.
    • To change the resolution of the source images, select Change resolution to and select the appropriate value from the list.
    • If you select PDF or PDF/A as a storage format, you can create searchable PDF files by selecting Create searchable PDF. For searchable PDF, text layer is formed from verified values of fields and document areas outside fields. For areas outside fields, full-text recognition is performed. In the Search text field, specify where to search text: on all pages, on sections pages or on annexes pages.

      Recognition language is defined the following way:

      • For fields, recognition language is specified on the Data type tab of the field properties.
      • For full-text recognition, the Document Definition language is used.
      • For annexes pages, you can select a language (or several languages in the case of multi-language documents) that is different from the language specified in the Document Definition. For this, click Select… to the right of the Language field and select the appropriate languages. By default, the language of the Document Definition is used.
  9. Enter an export profile name and click Finish.

After the export is complete, the documents will be saved in the specified SharePoint library, and each document will have a corresponding column filled out with the values from the specified fields. These values can be used for searches and document indexing.


Export described with a script

To configure export with the help of a script:

  1. In the Document Definition editor window, select Document Definition > Export Settings…
  2. Click Add…
  3. Select Custom export (script) in the Type field.
  4. Specify whether export is obligatory.
  5. Specify which documents (with and/or without errors) should be exported and click Next>.
  6. Select the language of the script.
  7. Type the script code in the editor window that appears when you click Edit Script…. Then click Next>.
  8. Enter an export profile name and click Finish.

For details on script parameters, see Export script.


Rules for naming export files

Export File Naming Criteria

File names and paths are formed automatically during export, basing on the criteria specified by the user. You can configure both the data file names and image file names.

Note: It is possible to specify a data file name template when exporting to files. An image file name template can be specified when exporting to files, ODBC-compatible database, Sharepoint and image files.

File name and path formation can be configured in the Destination and Filenames Template window. Depending on the selected export type, this window is opened either by clicking Edit… (to the left of the field with the file naming template) or File Naming Options…

There are two file export template formation types (select in the View field):

Simple;

For this type, you can select an additional path (except for setting up image export together with exporting data to file), the significant part of the file name, and add identifiers to it if necessary.

To specify the relative path, select Use additional path and then select the method: similarly to the Hot Folder structure (Source path relative to the Hot Folder) or according to the batch name (Batch name).

The following can be used as the significant part of the file name:

  • Source file name;
  • Document Definition name;
  • Specified file name - combination of characters specified by the user.

The following can be used as additional identifiers

  • Document identifier (select Add document identifier to file name);
  • Index field value (select Add index field to file name, then click … and select the index field in the Select Fields window).
Advanced.

In this type, the file naming template is entered as a text line in the File name template field. The template can include a permanent part and tags which will be replaced by information for specific files. The tags can be entered using a keyboard or added and deleted using the Add tag… and Delete tag buttons.

For files names to be generated correctly, make sure that the file naming options you select won't result in empty file names. If this may be the case, the program will display a warning message.

Note: The scheme used for naming document image files, which are to be exported together with data, can be the same as the scheme used for naming data. To use the same scheme, select the Same as data option on the Image Export Settings tab of the Destination and Filenames Template dialog.


Configuring data presentation in the document window

After the data has been recognized, the user will see it in the document window. By default, the data will be arranged sequentially, and their captions will correspond to the names of Document Definition fields.

However, you can change the presentation of data, arranging it conveniently or renaming elements. Data presentation can be edited in the bottom right corner of the Document Definition editor window.

You can change the caption of a field in the data form without changing its name in the document structure. To change a caption, open the field properties dialog box, click the General tab, and type a new name in the Caption field. This name will be used as the caption of the field in the data form. This feature may be useful for customizing column names, particularly in the case of FlexiLayouts where you cannot change the names of the fields.

Text font and size for field names and recognized data values can be specified on the Data Form tab of the Document Definition properties dialog box (Document Definition > Document Definition Properties…). You can also change size by right-clicking in the Data Form window and selecting the preferred size (shortcut menu item Text Size).

You can move, modify, and rename fields as well as change other field properties. To return to the original field presentation, select the appropriate shortcut menu item.

You can add any text, such as explanations. To do so, right-click in the Data Form window and select Insert Label Box from the shortcut menu. Enter your text, replacing the Label Text.


Document Definition properties

The basic Document Definition properties, such as its name, language and writing style, are configured with the help of the Document Definition Wizard. Other properties are configured by default.

You can view and change the properties of a Document Definition in the properties dialog box that opens when you select the menu item Document Definition>Document Definition Properties… in the Document Definition editor window.

The dialog box has six tabs.

The General tab

On this tab you can rename the Document Definition and enter or edit its description. The Enabled option includes/excludes the Document Definition from document processing.

The Recognition tab

On this tab you can modify the general properties of Document Definition recognition:

  • Language (locale) – it is important to specify the language used for correct recognition. This property determines both the input language and other local settings, such as the date format, currency, etc.
  • Writing style – the writing style can differ significantly in various countries, which is why it is important to specify the country to enable the program to select its typical writing style.

  • Specify the text type:

    ICR (hand-printed) – enable this option if most fields in documents will be completed by hand;

    OCR (printed) – enable this option if values in most fields will be printed. Select the print type from the dropdown list.

    Note: Recognition of handprinted text is not supported for all languages. For some languages this recognition type will not be available. See Supported recognition languages.

    Later you can change the text type for individual fields, while the type specified at this stage will be used by default.

  • You can enable one or several options in the Possible page orientation group so that the page will be turned 180°, 90° clockwise or 90° counterclockwise during automatic page orientation selection.
  • Click the Advanced Options… to configure the correction of linear and nonlinear image distortions.

    Note: Select the Correct linear distortion option to specify stretching and shrinking limits for image width and height. For image scaling, existing anchors (black squares, crosses or corners) as well as horizontal and vertical separator are used.

  • Save recognized words to cache - select this option if you want the recognized data from cache to be available when filling in field values during verification.

The Assembly tab

This tab is intended for configuring assembly rules for multipage documents.

In the simplest scenario, the Document Definition comprises a single section that occurs one time. If a Document Definition consists of several sections, this tab will show the list of their names. You can specify the number of repetitions of each section by modifying the numbers in the Min number and Max number columns.

  • Use key fields equality assembling rule – enable this option if you want to perform a check of document assembly based on key fields. Then select a key field for each section in the Key Field column. When you input documents, only documents with the matching values of key fields in each section will be considered correctly assembled. If their values do not match, an assembly error message will be displayed.
  • Use standard assembling rules - enable this option if you want to perform a check of document assembly using the following standard rulus:
    • Disable sections order check - enable this option if you want to disable the checks for the order of sections in the document (e.g. if the order of sections does not affect document assembly). The program will still check that all the sections are present in the document, but their order will be ignored.
    • Enable annex pages - enable this option if you want to process documents with annexes. If processing document with annexes is enabled, you can also select the option Detect annexes on the basis of preset document structure, without analizing (fast) to enable faster detection of annexes on the basis of the present document structure.

      Note: The Detect annexes on the basis of preset document structure, without analizing (fast) option is effective only for documents created by means of separation during the import stage or by applying a special flag in API. Such document are excluded from the assembly.

  • Use custom assembling rules - enable this option if you want to perform a check of document assembly using a document assembly script. A custom assembly script can be executed both separately and together with the standard assembling rules. To start editing the script, click the Edit Assembling Script… button. The Script editor will open.

For details see Creating Document Definitions for multipage documents, Assembling pages into documents and Creating Document Definitions for documents with annexes.

The Rules tab

This tab is intended for actions with Document Definition rules. You can delete, edit or create new rules.

For details see Rule validation.

The Export Destinations tab

This tab shows the current export settings of the given Document Definition. To change the export settings, click the Edit… button

For details see Configuring data export.

The Data Form tab

On this tab you can modify the font outline and size for displaying recognized data.

The Data Text Settings group contains font settings for displaying recognized values.

The Label Text Settings group contains settings for displaying the explanatory text (field names).

For details see Configuring data presentation in the document window.

The .Net References tab

On this tab you can add external assemblies to be used in scripts and global modules. Both standard and compiled user assemblies can be used. To add an assembly, click Add…. In the dialog box that opens select the type: Standard assembly name or Attached file. Depending on the selected type either enter the standard assembly name or browse to an assembly file.

For details see External assemblies.


Importing a Document Definition for forms created with ABBYY FormDesigner

ABBYY FormDesigner is a convenient tool designed specifically for creating machine-readable forms. In addition to forms that meet all the requirements of automated document processing, designing forms with ABBYY FormDesigner also gives you a Document Definition that is almost completely ready for processing these forms in ABBYY FlexiCapture 10.

To obtain a Document Definition for processing forms designed with ABBYY FormDesigner, proceed as follows:

In ABBYY FormDesigner:

  1. Create a form
  2. Publish it
  3. Export it to XML Form Definition format. You will get a file with the .xfd extension.

For details about creating, publishing and exporting forms see the Help Topics and user guide of ABBYY FormDesigner 10.

In ABBYY FlexiCapture:

  1. In the main program window, select the menu item Project > Document Definitions…;
  2. In the Document Definitions dialog box click the Import… button
  3. In the Open file for import that opens, select XML Form Definition Files (*.xfd) from the Files of type dropdown list and specify the path to the *.xfd file;
  4. The name of the new Document Definition will appear in the Document Definitions list of the Document Definitions dialog box.

After opening an imported Document Definition for editing, you will see that the marking of fields and static elements is already present in the image. All you need to do is edit field properties and configure export.


Creating Document Definitions for multipage documents

ABBYY FlexiCapture 10 allows you to create Document Definitions for multipage documents. A Document Definition can comprise any number of sections, which can contain one or several pages. Document Definitions of multipage documents require you to specify the order of sections, their number, and the rules used to assemble pages into documents.

After the Wizard finishes creating a new Document Definition, a simple Document Definition is created containing no sections. You can add pages to the Document Definition. When you add a page, its image is added to the image region in the Document Definition editor window, while fields created on it will be listed in the common fields list. In this case the document consists of a single section even though it may contain several pages.

You should add pages to a single section if the document has blocks continuing or recurring on several pages or tables continuing on the following page. The same method is used for loading a multipage flexible description (see Creating a Document Definition for processing flexible documents). All fields in a flexible description must belong to one section of a Document Definition.

Another way is to add sections to the Document Definition. In the simplest scenario, one section contains one page. You can choose it if field sets on pages are independent. This method is more illustrative: the document structure shows which section the fields belong to, and you can also configure a custom structure of document assembly. Let us assume, for example, that your document contains three types of pages and pages of the first and third types may occur only once, while pages of the second type may occur 2 to 5 times. Then you must create three sections, one for each page type, and specify the order of sections in the document and the number of their possible occurrences.

A more complex scenario is a Document Definition comprising several sections, some of which include more than one page. For example, this may be a Document Definition consisting of fixed sections and a flexible multipage section. Or a Document Definition describing documents containing a two-sided sheet that can recur several times. Suppose you need to create a Document Definition for a document containing a title page (page A) and a certain number of two-sided sheets (page sequence – BCBC...). You would therefore create section A comprising one page A and section BC comprising two pages B and C. The document structure is configured as follows: section A is repeated once, followed by section BC, which is repeated 3 to 7 times.

For a Document Definition consisting of several sections, you can enable verification of key fields in addition to the order and number of recurring sections. To do so, you have to identify the key fields in each document section. Their values must be identical in different sections. An example of a key field is the last name of the person who completed the document, which must be written on each page, or a certain identification number.

When processing a batch, the program tries to assemble a sequence of pages into documents, checking assembly rules in the process. The program will perform a check of key field values if the corresponding option is selected. If key fields do not match on the pages of the same document, an error message will be displayed. Sometimes this happens because document pages have been misplaced during scanning, in which case changing the order of pages will be enough to fulfill document assembly rules. See Assembling pages into documents.

To add a page to a section, use the Document Definition editor menu item Document Definition > Add Page… or the Add Page… item in the shortcut menu of the image. Then load the image of a new uncompleted page and select object types that have to be marked on the page automatically.

To add a new section, use the menu item Document Definition > Add Document Section… in the Document Definition editor window. The section creation wizard will open to assist you with configuring all the required parameters. Following the instructions of the wizard, perform the following:

  • specify the section name.
  • load the image of an uncompleted page (scan or load from file) or load a flexible description file.
  • select object types that will be marked automatically.

A new section and fields it contains will be displayed in the document structure window.

You can also import a section from another Document Definition in the project. To do it, on the main menu, click Document Definition > Import Document Section… and select the section in the Select Section Definition to Import dialog box.

Note: Shared scripting modules are not imported, when importing sections. The result can be that script rules written in a new section will be invalid or will work incorrectly.

To view the resulting document structure when creating a Document Definition, in the Document Structure window located in the right part of the Document Definition editor window, go to the Pages tab. It shows the document structure in the page outline mode. On this tab you can change the number of section inclusions in a document (to do so, enter a new value – number or interval – in the square to the right of the section name), attach pages of an annex, change the order of pages in the section, and move pages from one section to another by simply dragging and dropping a page.

For pages, that can repeat in a section, select the Can repeat in section option in the page properties. To open Page Properties dialog box, select Properties... from the local menu of the page or press Alt+Enter.

Show document structure window

To specify the sequence and number of recurring sections as well as the assembly rule, use the menu item Document Definition > Document Definition Properties… in the Document Definition editor window. On the Assembly tab specify the minimum and maximum number of inclusions of each section in the document (default value is 1). If you want to check the values of key fields, enable the option Use key fields equality assembling rule and select a key field in each section.

Select the assembly rules to be used. Both standard and custom assembly rules can be used.

Standard assembly rules allow you to disable checks of sections order and to assemble document with annex pages.
Disabling checks for the order of sections ( Disable sections order check option) applies, for example, if the order of sections does not affect document assembly). The program will still check that all the sections are present in the document, but their order will be ignored.
To assemble documents with annexes, select the Enable annex pages option. To detect annex pages on the basis of present document structure, enable the corresponding option.

To assemble documents by using the document assembly script, enable the Use custom assembling rules option. To start editing the script, click the Edit Assembling Script… button.

Show the Assembly tab


Creating a Document Definition for flexible document processing

For bills, payment orders, and similar documents, you cannot create a Document Definition with fixed field locations. This is because their location, size and number may not be identical, such that a fixed Document Definition cannot be applied to all documents. In such documents, the program searches fields after pre-recognition of the entire page and creates a flexible description based on keywords and relative locations of fields. A special program module ABBYY FlexiLayout Studio 10 is intended for designing flexible descriptions (supplied together with ABBYY FlexiCapture 10). You will find detailed instructions for designing a flexible description in the Help Topics of ABBYY FlexiLayout Studio 10.

A flexible description is exported to an .afl file and then loaded in ABBYY FlexiCapture 10. We can use a flexible description for the entire Document Definition or as one of its sections. A flexible description may be multipage.

Attaching a flexible description

A flexible description can be attached at the stage of creating a Document Definition. To do so, at the second stage in the Document Definition Wizard add the document image and then enable the option Load FlexiLayout and enter the path to the .afl file containing the flexible description.

You may attach a flexible description from the window of the Document Definition editor in the dialog box of the Document Definition section.

  1. Select a document section. (If the document consists of a single section, in the Document Structure window open the Pages tab and select the name of the single section.) Right-click and select Properties… from the shortcut menu.
  2. Go to the FlexiLayout tab.
  3. Click Load…
  4. Select the required .afl file containing the flexible description.

After you attach a flexible description, the geometrical layout of fields will be displayed on the image. Now you have to configure field properties in the same way you do it for the fixed Document Definition. Specify recognition, verification, and export properties and set the required rules.

Updating flexible descriptions

To updata FlexiLayouts used in the Document Definition, select Tools > Update FlexiLayouts…. In the dialog box that opens specify the paths to FlexiLayouts and click Update.

Note: When importing a FlexiLyout with text files that contain possible field values, these files are placed along the relative paths that were defined when creating the FlexiLayout. The relative paths are relative to the project file. To edit these files, save the project locally (select Project>Export Project…), edit the files, and update the project on the server (select Project>Update Project…).


Creating Document Definitions for documents with annexes

ABBYY FlexiCapture 10 lets you create Document Definitions for documents with annexes. Annexes are additional pages that can accompany each form. No Document Definition is applied to these pages, but they are taken into account during document assembly. For example, a loan application (fixed form) is submitted along with an income statement in a free-form style. This income statement can be processed as an annex.

To create a Document Definition for a document with an annex:

First method:

  1. Open the Pages tab in the Document Structure window (first part of the Document Definition editor).
  2. Enable the option Enable annex pages in document.
  3. Enter the number or range of pages of the annex in the box that appears to the right of the section name.
Show document structure window

Alternative method of creating a Document Definition for a document with an annex:
  1. Open the Document Definition properties dialog box (Document Definition > Document Definition Properties… in the Document Definition editor window).
  2. Go to the Assembly tab.
  3. Enable the option Enable annex pages. The Annex pages line will appear in the sections list.
  4. Enter the minimum and maximum number of pages in the annex.
Show dialog

In order to save the text from the annex, when configuring export you need to specify image save options (in the Export Settings dialog box). If you select PDF searchable to save the image, text will be recognized and saved in a PDF searchable file.


Processing unstructured documents

ABBYY FlexiCapture 10 can be used to process unstructured documents containing information presented in a free style, for example contracts, letters, orders, annexes. Unstructured documents with text or images separated by blank sheets or pages with barcodes are processed and exported to PDF searchable files or graphic files.

The processing of such documents normally involves converting documents to electronic form and running a search according to key field values.

If possible, the search for key fields (such as a contract number) in such documents is performed using a flexible description created with ABBYY FlexiLayout Studio. See Creating a Document Definition for processing flexible documents.

If automatic search of key fields is impossible, the operator may input their values manually. To do so, create a Document Definition with one field (or several fields, if necessary), and enable the option Don't recognize (Key from Image field - will be entered manually) in the recognition properties of this field. When running the verification process the operator will then be able to input key field values manually.

You need to configure export to enable data storage: you can export key field values to file or database and save document images in a convenient format. You can save document images in graphic files or PDF searchable files.

Pay close attention when assembling pages into documents: with unstructured documents it can be fixed to determine to which document a particular page belongs. To automate the assembly of unstructured documents we recommend separating documents with blank sheets or pages with barcodes. When adding images to a batch (by scanning, adding from file, or creating an import profile) you then need to enable the option For images separated by and select the value blank pages or pages with barcode from the dropdown list, depending on which pages are to be used as separators. Pages are assembled into documents automatically: pages will be added to the current document until the next separator page. For details see Adding page images.


Editing and publishing a Document Definition

Document Definitions can be edited in the Document Definition editor window. Here, you can modify the layout of fields and static elements, edit their properties, rules, export settings, etc.

So as not to affect the work of other project members when editing a Document Definition, the program allows you to edit a local Document Definition copy while the latest published Document Definition version is being used for recognition. This mode enables to modify and test Document Definitions locally, while operators can complete verification and export of documents recognized using the old version, even if the Document Definition has been modified considerably or deleted. The Document Definition that is being edited is not accessible for editing by other users. Once you have finished editing the Document Definition, you can either publish it, making the new version available for document recognition, or undo all the changes.

To edit a Document Definition, proceed as follows:

  1. In the main program window, select the menu item Project>Document Definitions…
  2. Select the Document Definition to be edited.
  3. Click the Edit… button in the Document Definitions dialog box to start editing the Document Definition. A local version of the Document Definition will be copied to your PC. The Document Definition will become inaccessible for editing by other users.
  4. Make the required modifications in the Document Definition editor window. Save the Document Definition.
  5. Test the Document Definition with several images. For Document Definition adjustments you can use test batches that work with the local version of the Document Definition.
  6. Click the Publish button in the Document Definitions dialog box to publish the Document Definition. Following publication, the new Document Definition version will be used for the recognition of documents in the work batches. The Document Definition can now be edited by other administrators. To return to the original Document Definition, click Discard Changes.
  7. The Document Definitions are applied in the order in which they are listed in the Document Definitions window. Change the order of the Document Definitions if required.
  8. To speed up FlexiLayout matching, select Use first acceptable FlexiLayout to make the program use the first matching FlexiLayout. Otherwise, the program will attempt to apply each of the FlexiLayouts and then select the best match.

A new Document Definition version is used for recognition and further document processing immediately after it is published. However, the previous Document Definition version is used for those documents that are being processed at the moment of publishing. You can update the Document Definition for the documents that are being processed by selecting Tools>Update to Latest Version. Depending on what changes have been made to the Document Definition, a message will be displayed prompting you to re-recognize the documents (if the recognition parameters have changed), to re-check the rules (if the rules have changed), or to re-export the documents (if only the export settings have changed).


Testing Document Definitions

Before starting mass document input, Document Definitions must be tested. Testing is undertaken using documents added to test batches, since these batches work with the local Document Definition version. These batches are available from the View>Test Batches menu of the main program window. You can also access test batches from the Document Definition editor window by selecting Batch>Switch to Test Batch….

Important! Only the user who created a test batch can work with that test batch. If required, a working batch can be used as a test batch, in which case it will serve as a source of images for the test batch.

A Document Definition can be tested directly in the Document Definition editor, on the image that is being used to create the Document Definition. To start the test, select Testing>Run Test. The data form will be displayed as in the case of document processing, and format errors, uncertain characters, and rule errors will be displayed.

You can use the Testing>View menu to rearrange the windows and the Testing>Verification menu to navigate the verification items, uncertain characters, and rule errors. Click the Finish Test button or select Testing>Finish Test to stop the testing.

Note: In testing mode, changing a field border will not cause the program to recognize the field anew, as is the case when you change field borders in the document window.

To test your Document Definition on other images, select a test batch (you can do this by selecting Batch>Switch to Test Batch… in the Document Definition editor). Before the batch selection dialog box is displayed, the program checks the current Document Definition for errors. If the Document Definition is error free, it is saved and the batch selection dialog box is displayed. When you select a batch in this dialog box, the main program window will become active and automatically switch to the newly selected batch.

We recommend checking each Document Definition with at least 20 document images (if documents are completed by hand, it is preferable to use documents completed by different people).

Testing is required to determine whether:

  1. There is a sufficient number of marked anchors and identifiers for certain application of a Document Definition to an image.
  2. The field properties have been configured correctly.
  3. The rules have been configured correctly.
  4. Export has been configured correctly.

During testing, you need to perform the entire sequence of actions performed when processing documents.

If rule errors, incorrect field values, etc. were detected during testing, you must edit the Document Definition to correct them.

Only after elimination of all of the problems detected can you publish the Document Definition and begin mass input of documents.

Operating a configured project


Classifiers

Classifier

A classifier is a project created in ABBYY FlexiLayout Studio for preliminary identification of individual pages and classifying them as belonging to a particular type. For example, pages can be classified based on a FlexiLayout or a layout alternative. Once a classifier is created in ABBYY FlexiLayout Studio, it can be used in ABBYY FlexiCapture to classify documents at project level or at batch type level.

To add a classifier project at project level:

  1. Open the project.
  2. In the main window, select Project Properties… from the Project menu. The project properties dialog box appears.
  3. Click the Recognition tab and then click Load…
  4. Select the *.cfl file that contains the classifier.

Note: If, when creating a batch, Default was specified as the batch type, the settings specified in the project's properties will be used for processing.

To add a classifier project at batch type level:

  1. Open the Batch Types dialog box by selecting Project>Batch Types…
  2. Select the batch type from the list and click Edit…The batch type properties dialog box appears.
  3. Click the Recognition tab and then in the classifier section click Load…
  4. Select the *.cfl file that contains the classifier.

Classifiers may be used for the following purposes:

  • To speed up the selection of Document Definition. The use of a classifier allows the program not to go through all the available Document Definitions in search for the best match, but to select the appropriate Document Definition based on the classifying features. The search order is determined by the user, who selects classifying features and builds a classifier tree. Gains in speed are particularly noticeable in the case of large-scale projects with many Document Definitions.
  • To distribute the classifying features in the classifier tree. For example, at the topmost level, you can select documents sent in by a certain company based on a document section that bears the name of that company. On the next level, the documents can be classified based on their titles or based o the number of separators on a particular page.
  • To manage the application of third-party FlexiLayouts. FlexiLayouts created by a third-party developer may not match properly their documents. In this case you can use a classifier to remedy the situation without contacting the developer.
  • To speed up projects that contain Document Definitions in multiple languages. If a classifier is used, pre-recognition of the documents is performed only twice: when classifying the documents and when applying the selected Document Definition. Otherwise, pre-recognition has to be done for each Document Definition language in the project.

For detailed information about classifiers, see ABBYY FlexiLayout Studio Help.


Image import profiles

Document processing starts with adding new images. Typically, new images are added on the Scanning Station (see Scanning Station Help for detailed instructions). However, new images can also be added on the Verification Station, on the Project Setup Station, or automatically from Hot Folders.

You can automate the image adding routines on the Verification Station and/or the Project Setup Station if images are regularly taken from the same source. To automate the process, create an image import profile on the Project Setup Station. Additionally, you can configure the processing of incoming images and periodic adding of images in background mode. Once the required settings have been configured, at the click of a button images will be scanned or imported from a preset source, and received images will be processed (for example, despeckled). If required, you can change the source of image import or its settings.

Where import sources change frequently, you can create several import profiles and switch between them to avoid changing import source settings all the time.

Creating an import profile

To add an import profile, select the menu item Project > Image Import Profiles… in the main program window. In the dialog box that opens you can create new import profiles, edit, remove, and copy existing profiles.

You can create a new import profile with the help of a Profile Wizard that can be run from the Image Import Profiles dialog box by clicking New…. Select an import source, e.g. a scanner or a hot folder, at the first stage of the Wizard's operation.

Creating an import profile with a scanner
  1. Select Scanner as import source.

    Important! The scanner must be connected. To connect the scanner correctly, consult the documentation supplied with the scanner. Make sure you install all of the software supplied with the scanner.

  2. For the second step, you can configure the options for scanning and processing scanned images:
    • Style of the settings dialog – choose the method of interaction between the program and the scanner:
      • FlexiCapture Scanner Settings: in this case, the Scanner settings dialog box of ABBYY FlexiCapture is used for configuring scanning options. Click the Settings… button to configure scanning options. If you enable the option Show scanner settings before scanning, then the Scanner settings dialog box of ABBYY FlexiCapture will appear when you select this import profile before scanning.
      • Scanning Options: the dialog box of the relevant scanner driver will be used to configure scanning options. In this case, you will not be able to change scanning options when creating an import profile, but the scanner settings dialog will appear each time before you start scanning images.
    • Specify whether you want to scan one or several images in a single pass.
  3. For the next step, you can configure options for determining the principle of adding images to documents and image processing options. For details, see Image pre-processing options.
  4. For the final step, you can change the default name assigned to an import profile and enter your comment.
Creating an import profile with a hot folder
  1. Select Hot Folder as the import source. Select hot folder type: Local folder or LAN folder, POP3 server, MAPI (mailbox) or FTP server. Specify the path to the hot folder by clicking the Browse… button or login and password by clicking the Settings… button.

    Important! To be able to add images from the hot folder, the user must have read and write privileges for this folder.

    To set up import from MAPI (mailbox)
    • The e-mail account must be configured on the computer.
    • The importing process (a user station or processing station) must be run under the user account the mailbox belongs to.
      Note: Microsoft Outlook has to be started under this user account on this computer at least once before the import profile is set up.
    • To select an available mailbox, click Browse…
    To set up import from POP3 server
    • Enter the address of the POP3 e-mail server.
    • Click Settings… and in the dialog box that opens enter the user name and password to log in.

    Note: If all the settings are correct, but the ABBYY FlexiCapture is unable to retrieve messages from POP3 e-mail server, make sure that a firewall does not block connection with the e-mail server.

    Note: ABBYY FlexiCapture does not support POP3 E-mail Servers which use the SSL protocol (port 995).

    Note: Microsoft Outlook 2010 64-bit is not supported.

  2. For the second step, set the image loading options:
    • Check Hot Folder every – enable this option and enter a time interval for the program to check the hot folder for new images automatically.

      Note: To initiate image import from Hot Folders, enable the Hot Folders for the given project in the Processing Server Monitor.

    • In Batch Settings enable one of the options to specify the batch for adding new images.
      • Add images to current batch – enable this option to add images from the hot folder to the current batch;
      • Add images to specified batch – enable this option and select the batch name from the dropdown list in order to add images to a specific batch.
      • Create new batches for imported images automatically – enable this option to create batches for new images automatically. With this option, every time the hot folder is checked (enable Check Hot Folder every) one or several batches will be created and images from the hot folder will be added to those batches according to the rule specified below.
        In the Batch type field, specify the type of the batch. If required, specify batch registration parameters (click Registration parameters…) and change its priority in the Priority field.

        • Note: If import tasks are processed in the Processing Server, the Create new batches for imported images automatically option must be selected. The Add images to current batch and Add images to specified batch options can be used only if images are imported in the Project Setup Station or if the Standalone version is used.

    • In the dropdown list Number of files to add, select one of the values to specify the number of files to add to the specified or newly created batch:
      • According to description file – files will be added according to the description. To specify the name and type of the description file, click the Settings… button. For details see Description file.
      • All files - all files from the hot folder will be added. Files from subfolders are ignored.
      • From subfolder - files will be added from subfolders whose names comply with the specified format. Click Settings… to specify a naming scheme.

        Note: An asterix * indicates any string of characters, a question mark ? indicates any single character.

        Note: Rename a subfolder according to the specified naming scheme only after all required files have been copied to it. Otherwise a file access conflict may occur.

      • Several files – several files will be added. To specify the number of files, click the Settings… button and enter the number or range of values. Files from subfolders are ignored.
      • Note: If you specify a certain number of files, e.g. 5, and there are only 4 files left in the hot folder, these files will not be imported. If you specify a range, e.g. 1-5, the remaining 4 files will be imported.
      • Single file – a single file will be added.
      • Attached to the letter – all files attached to letter will be added.
      Note: New images are added to the batch in ascending order of file name.
    • If the profile is intended for importing photos rather than scanned images, select Treat image as photo.
  3. For the next step, you can configure options for determining the principle of adding images to documents and image processing options. For details, see Image pre-processing options.

  4. For the fourth step, the Profile Wizard will ask you to specify options for hot folder cleanup after import: successfully imported images can be deleted or moved to a specific folder. Images that have been processed with errors can remain in the hot folder or also be moved to a specific folder. If you want to move images, specify folders to move them to.

  5. For the final step, you can change the default name assigned to an import profile and enter your comment.

You can also edit and create image import profiles in the Select Import Profile dialog box that appears when you select File>Import Images… from the main menu.

Adding page images


Description File

A description file is an auxiliary file that defines how a batch is formed when images are added from a hot folder. Depending on the format of the description file, different file sets are used to form the batch.

The program uses the following types of description file:

  1. Captiva QuickScan
    All the image files listed in the description file are added to the batch. The order of the image files in the batch is the same as in the description file.
  2. Capture Software for Kodak
    The image files that are located in the folder of the Kodak batch are added to the batch in ascending order of file name.
  3. Empty file
    This file serves as a marker showing that a new batch must be created. The contents of the file are irrelevant, only the name is important. Images are added from the Hot Folder in alphabetical order. When a file with the name corresponding to the mask specified in the File name field is found, the system will create a new batch. Thus, if the *.dat mask was specified, and the Hot Folder contains the following files:
    Contract1.jpg
    Contract2.jpg
    Contract3.dat
    Contract4.jpg
    Contract5.jpg
    Contract6.dat
    a batch will be created for Contract1.jpg and Contract2.jpg files (when Contract3.dat is found), and another batch will be created for Contract4.jpg and Contract5.jpg files (when Contract6.dat is found).
  4. XML file
    This is an XML file with a documented structure. An XML file is used when the other three types cannot be used but a custom description file can be generated. The image files listed in the description file are added to the batch.

    An XML document must contain a root element Batch with the following child elements: RegistrationParams, Documents and Images. The Images element, in turn, must include Image elements, whose number corresponds to the number of pages in the batch that is being created.

    The Batch element has the following tags:

    • Priority - the priority of the batch: Lowest, Low, Normal, High or Highest. This tag can be omitted.
    • Name - a desired batch name.
    • TypeName - the name of the batch type.
    • SourceID - the string identifier of the batch source.
    • Description - a description of the batch.
    • RegistrationParams - the list of the batch registration parameters.
    • Documents - the list of documents (excluded from the automatic document assembly).
    • Images - the list of separate pages (included in the automatic assembly).

    The Parameter element has the following tags:

    • Name (an attribute) - the name of the registration parameter.
    • Value - the value of the registration parameter.

    The Document element has the following tags:

    • Index (a mandatory attribute) - the index of the document within documents of the batch numbered from zero.
    • Priority - the priority of the document: Lowest, Low, Normal, High or Highest. This tag can be omitted.
    • Name - the name of the document.
    • Barcode - the barcode value.
    • RegistrationParams - the list of document registration parameters.
    • Images - the list of document pages.

    The Image element has the following tags:

    • Index (a mandatory attribute) - the index of the page (the corresponding document for pages of the Images element) within the document pages (the documents of the batch) numbered from zero.
    • PageIndex (an attribute) - the page number starting with zero within a multipage import file.
    • SourcePath (an attribute) - the path to a folder with source images.
    • SourceFile (an attribute) - the source file with the page image (a path relative to SourcePath).
    • SourceFilePageIndex (an attribute) - the page number starting with zero within a multipage source file.
    • SourceDetails (an attribute) - a description of the source (the name of the scanner).
    • Value - the path to the import file specified for a page relative to the Hot Folder.

    We recommend setting up the scanning program so that scanned images are placed into the Hot Folder itself or into its first-level subfolders. When creating a batch, the program will add to it all the images listed in the Image elements of the corresponding description file. The images will be added in the order in which they are arranged in the description file.

    The order of the image files in the batch is the same as in the description file.


Image pre-processing options

When new images are added to a batch, the program performs image pre-processing: the images are separated into documents, cleaned up from noise, rotated, etc.

You can select pre-processing options on the Image Preprocessing tab. The pre-processing options can be selected for:

  1. A project. In this case, the selected options will be used by default when new images are added manually to project batches. Select Project>Project Properties… in the main window and then click the Image Preprocessing tab.
  2. A batch type. In this case, the selected options will be used when processing images from batches of the given type. When creating a batch type, select image pre-processing options at the Image Preprocessing tab.
  3. An import profile. These options will be used when this import profile is used to add new images. When creating a new import profile , select image pre-processing options at the Image Preprocessing stage.
  4. Images added manually. When adding images from a file, click the Image Preprocessing Settings… button in the Load Images dialog box.

Note: If images are scanned manually, no image pre-processing is done. Images are only pre-processed if an import profile is used to add images.

Users can select any of the following image pre-processing options:

  • Options that determine the principles of adding images to documents:
    • Automatically when Document Definition is applied – Select this option if you wish images to be separated into documents during matching (during recognition). In this case, images will not be separated into documents immediately when they are added and documents will be assembled only after the pages have been analyzed and recognized based on the structure described in the appropriate Document Definition. For details see Creating Document Definitions for multipage documents and Assembling pages into documents.
    • For every image file (For every image file),
    • Or a new document will be created when the program reaches a separator sheet (For images separated by).

    • To use blank pages as separators, select blank pages from the dropdown list. To use pages with barcodes as separators, select pages with barcode from the dropdown list. You can set additional parameters by clicking the Settings… button. If you do not need separator pages to be added to the batch, select Delete separator pages. If this option is not checked, separator pages are added to the batch and become the first pages of each document.

    Note You do not have to use separator pages to split pages between documents. Separator pages must be used only when the appearance of the page makes it impossible to determine whether it belongs to the previous document or to the next one. For example, this happens where a document comprises any number of identical pages, and the batch contains more than one such document.

  • Configure image processing options:
    • Despeckle images – removes noise from images;
    • Convert color and gray images to black and white – converts images to black-and-white;
    • Rotate images by – rotates images in the specified direction.
  • Deskewing options. By default, these options are selected and the program deskews newly added images relying on black squares and/or on vertical and horizontal separators and text. It is not recommended to turn off the deskewing options unless deskewing is done incorrectly (e.g. if the program interprets a stamp or a graph as a separator and attempts to deskew the image based on this faulty data).
    • Use black separators to correct skew – If this option is selected images are deskewed based on separator lines;
    • Use black squares to correct skew – If this option is selected, images are deskewed based on black squares;
    • Use text to correct skew - If this option is selected, images are deskewed based on text of the image.


Export settings

Export settings are specified for each batch type. When a batch is created, its type is specified and the batch is exported in accordance with the settings for this batch type.

If no batch types are created, all batches are exported with the <default> settings specified for the entire project (Project>Project Properties…, Export Destinations tab).

On this tab you can enable deleting documents after export and specify export options for unrecognized documents. Recognized documents will be exported in accordance with Document Definition settings.

The following export options are available:

Option | Description
Document processing after export group
Delete documents after export | Select this option if you want to delete documents after export.
Delete processed batches after | Select this option if you want to postpone deleting processed batches for the specified number of hours or days. This option cannot apply to local batches. Postponed deleting processed batches during manual or automatic cleanup is configured in the Administration and Monitoring Console. By default processed batches are deleted every 14 days.
Unrecognized documents group
Export unrecognized documents | Select this option if you want to export unrecognized documents.
Image export settings group
Image format Select the desired image saving format from the list. The following formats are supported: TIFF, JPEG, PDF, PDF/A, BMP, JPEG2000, PCX packbits, PNG.
Click the Options… button to specify options for the selected format. For all formats, the following options are available:
  • Quality: Best, High, Normar or Low.
  • Color Type: Color, Greyscale, Halftone (b&w).
  • Changing resolution to a new value (in dpi).
If you select PDF or PDF/A as a storage format, you can create searchable PDF files by selecting Create searchable PDF. For searchable PDF, text layer is formed from verified values of fields and document areas outside fields. For areas outside fields, full-text recognition is performed. In the Search text field, specify where to search text: on all pages, on sections pages or on annexes pages.

Recognition language is defined the following way:

  • For fields, recognition language is specified on the Data type tab of the field properties.
  • For full-text recognition, the Document Definition language is used.
  • For annexes pages, you can select a language (or several languages in the case of multi-language documents) that is different from the language specified in the Document Definition. For this, click Select… to the right of the Language field and select the appropriate languages. By default, the language of the Document Definition is used.
Select the Use MRC (mixed raster content) option if you want to achieve a higher speed of recognition and get output files of smaller size. With this option, fields for which the Do not recognize mode is selected can be exported with lower quality.
Target Select the desired export target from the drop-down list. Depending on the selected target specify additional export settings. You have the following choices:
  • Create folder structure and filename using template
    If you select this value, file names and the subfolder structure will form depending on the document parameters.
    • Specify the root export path in the Export path.
    • Specify the file naming options. To do it, click Edit… and specify the necessary rules. For more information, see Export File Naming Options.
    • In the If file exists field, select the action for the program to carry out if a file with the generated name already exists.
  • Export documents as separate files
    If you select this value, each document will be exported to a separate file. Specify the path and the first characters of the file name in the Name prefix field.
  • Recreate filenames and structure of Hot Folder subfolders
    If you select this value, the folder structure will mimic that in the Hot Folder the document images had been imported from. When configuring this export type, select the folder to mimic the Hot Folder structure in the Export path field.


Batches

Documents to be processed are put into batches. The principles of grouping documents into batches are determined by the user. For example, the user may choose to process all documents as one batch, or group together documents imported on the same day or scanned at one go.

On the Processing Stations, batches are created automatically when importing images from Hot Folders. On the Scanning Station, batches may be created manually by an operator or automatically, if the appropriate scanning profiles are available. When a batch is created, its type should be specified, which defines how the batch is to be processed.

Page images are added during processing. See Adding page images for details.

On the Project Setup Station, Document Definitions can be debugged by creating batches, adding document images into the batches, and processing them (i.e. recognizing, verifying, and exporting the results). To create a new batch, right-click the batch list in the main window and select New Batch... from the shortcut menu.

Working and test batches

Test batches are used by the Batch Setup Operator to test and debug Document Definitions. Working batches are intended for processing documents with ABBYY FlexiCapture 10. The Batch Setup Operator can also access working batches if errors occur during processing. In the event of an error, the operator can open the batch and correct the error. Test batches and working batches are different in that the local Document Definition is used to process the documents of a test batch whereas a published Document Definition is used to process the documents of a working batch. See Editing and publishing a Document Definition.

To open the list of batches, select the Batches or Test Batches item from the View menu on the Project Setup Station.


Attachments

User attachments can be added for pages, documents and batches. Attached files can be later edited and downloaded.

You can attach files of any format, for example, you can add a file with digital signature when scanning images.

The following ways of adding attachments are available:

  1. When importing images from Hot Folder according to settings specified in the description file.
  2. On the Attachments tab of page, document or batch properties dialog box, click the Add… button. In the dialog box that opens, specify the attachment name and the path to the it.
  3. By script using the IUserAttachments.AddNew method. Methods of the IUserAttachment interface also allows you to edit added attachments.
  4. By using Web Service API.

To save the attachment to a hard disk on your computer, click the Save As… button on the Attachments tab or use the IUserAttachment.ToFile method.


Index fields

To make it easier to search for and process documents, you can index documents using the values of any fields in a Document Definition. In the documents list in the main program window, in addition to the basic information you will then be able to output values of the index field for each document, sort documents by these values, and easily locate the required documents.

To index by field values, enable the option Index field for this field ( General tab in the Document Definition editor).

To display the value of the index field in the document list:

  • In the main program window, open a batch of documents and enable the detailed documents list mode (button [image] on the toolbar).
  • Right-click in the table header region (column names) and select Customize… from the dropdown list.
  • In the Choose Columns dialog box, click the New… button.
  • In the Edit Column dialog box, click the Select… button to the right of the Index Field. In the dialog box that opens, select one of the fields with the enabled option Index field. You can also enter any column name and specify the justification method.
  • Another column with the index field value will appear in the table. Click on it to sort documents by the value of the index field.


Operating a configured project

Documents go through various processing stages. When creating and setting up a project, you should specify at which stages and under what circumstances operator control or error correction is required. For this stages, task queues are created. Additionally, a special exceptions queue is available for problem documents.

Operators are users of the system that monitor the processing and correct errors in documents or in batches. The table below lists ABBYY FlexiCapture operators and the stations and queues available to them.

Operator | Stations | Queues | Functions
Monitoring Operator | Administration and Monitoring Console | - | Monitor the operation of the system
Scanning Operator | Scanning Station | - | Scanning documents or importing document images, sending documents into processing
Data Verification Operator | Data Verification Station Verification Station (group and field verification only) | Data verification | Checking and correcting unreliably recognized characters (group and field verification)
Verification Operator | Data Verification Station Verification Station | Data verification Verification Document assembly check Batch integrity check | Same as data Verification Operator + checking and correcting document assembly and batch assembly errors
Senior Verification Operator | Data Verification Station Verification Station | Data verification Verification Document assembly check Batch integrity check Export confirmation Exceptions | Same as data Verification Operator + confirming document export, handling exceptions

Operators start their corresponding stations and perform the required operations in accordance with the access rights granted to them.


Workflow

Documents are processed in several stages. At the processing stage, which can either be unattended or involve an operator, documents are converted. All stages are arranged in a particular order, and before a document goes to a certain stage it must successfully go through all the previous stages. In general, document processing includes the following stages: adding images, recognition, verification, and export.

At each stage, a task queue is formed, which contains a list of documents to be processed. As the processing progresses, the documents move from the first queue (recognition) towards the last queue (export). As a rule, queues correspond to processing stages, but there are also special queues, e.g. the exceptions queue.

Stages

  1. Importing images

    Images can be obtained automatically from Hot Folders or added by the operator of the Scanning Station. The Scanning Operator may either scan in documents or import the images of already scanned documents. To automate the process (i.e. to add the images using pre-defined settings with a single click of the mouse), the Scanning Operator can create scanning profiles.

  2. Recognition. The recognition queue is processed automatically on the Processing Station.
  3. Verification. The verification queue is processed by the operator of the Verification Station.
  4. Export. The export queue is processed automatically on the Processing Station.

In the case of large processing volumes, the verification stage can be divided into smaller substages, with each operator responsible for fewer operations.

The following separate queues can be created:

  • Document Assembly Check
  • Data Verification - group and field verification of uncertain characters and correction of format errors
  • Verification - rules checks and Document window checks
  • Batch Integrity Check
  • Export Confirmation

Note: Queues are specified for batch types individually.

The tasks from the queues are processed by the operators who have the necessary access rights:

  • Data Verification Operator - only the Data Verification Queue
  • Verification Operator - Data Verification, Verification, Document Assembly Check, Batch Integrity Check
  • Senior Verification Operator - all queues

Note: The Data Verification Station allows its operator to process only the tasks from the Data Verification queue, regardless of his/her access rights.


Adding page images

Document processing starts with image import, a procedure of adding document page images to the project. The images arrive either from the Scanning Station or are taken automatically from the Hot Folders.

Background image import

Image import can be performed in the background mode if the appropriate import profile has been configured. Images from the hot folder are automatically imported into the system. The program checks the folder for new images at time intervals specified in the settings.

There are several ways by which images can be added to a batch:

  1. Load previously saved images from files;
  2. Scan images;
  3. Import images using one of the image import profiles previously configured by the administrator (see Image import profiles.)

Adding images manually

If required, images can be added into the batch manually on the Verification Station (by the Senior Verification Operator) or on the Project Setup Station. Images are added in batch viewing mode. Open the batch into which you want to add images or simply select this batch in the list.

The following methods are available for adding images into the batch:

  • Loading previously saved image files
  • Scanning documents
  • Importing images by using one of the previously created image import profiles (see Image import profiles)

To add the images, right-click the batch and select the corresponding menu item from the shortcut menu.

Adding images from file

To load images from file, select the Load Images… menu item or use the Ctrl+O shortcut. In the dialog box that opens, select the required image files and configure the image import options:

  • Create new document – new documents will be created for the added images
  • Add to current document – images will be added to the current, highlighted document.
  • You can also select image pre-processing options. Click the Image Preprocessing Settings… button and select the desired options in the dialog box that appears. For details, see Image pre-processing options.

Scanning images

To add images from a scanner, select the Scan Images… menu item. Choose a scanner, configure scanning options and scan images.

Adding images with the help of import profiles

If the administrator has configured import profiles, their names will be shown in the menu of the import button. To start importing images, you only need to select an item with the name of one of the import profiles.

After you select Import Images… the Select Import Profile dialog box opens. Select the import profile from the list and click the Import button to start importing images.


Configuring scanning options

Usually, documents to be processed arrive from the Scanning Station or from the Hot Folder. However, documents can also be scanned on the Verification Station or on the Project Setup station. in this case, the required scanning parameters must be selected.

Recognition quality largely depends on the quality of the scanned image. The image quality can be regulated by configuring the basic scanning options: image type, resolution, and brightness.

When you scan images via ABBYY FlexiCapture, there are two possible ways in which the program can interact with scanners via the TWAIN or ISIS drivers:

  • Via ABBYY FlexiCapture interface:
    in this case, scanning options are configured with the help of the ABBYY FlexiCapture dialog box Scanner settings; scanning options can be configured when creating an import profile with the Scanner specified as the import source.
  • Via the interface of the TWAIN or ISIS driver of the scanner:
    the dialog box of the relevant scanner driver is used to configure scanning options. This dialog box opens automatically when you select Scan Images… from the dropdown menu of the import button.

Basic scanning options

  • Image type – scanning in grayscale (256 shades of gray) is the optimum mode for the recognition system. When you scan in grayscale mode, the program selects the brightness level automatically.

    The black-and-white image type ensures a faster scanning speed at the expense of some letter information, which may affect recognition quality of documents with average and low quality print.
    If you need color elements of the document (pictures, color letters and color background) to be rendered in the electronic document with the color preserved, you need to select the color image type. In other cases use the grayscale image type.

  • Brightness and contrast values have to be selected so as to, first, preserve the anchor blocks and, second, make the images of blocks intended for recognition as clear and definitive as possible.
    In most cases the average brightness value of 50% is suitable.
    You may need to configure brightness additionally when scanning some documents in the black-and-white mode.
  • Resolution – the recommended resolution for processing forms filled out by hand is 300 dpi. The resolution of scanned forms must match the resolution of the template image.

Note:

  1. Scanning with a resolution of 400-600 dpi instead of 300 dpi, or scanning in gray or in color instead of black-and-white can take considerably more time. With some scanner models, scanning with a resolution of 600 dpi takes 4 times as long as scanning with a resolution of 300 dpi. Scanning with a resolution below 200 dpi is not recommended.
  2. When you use the dialog box of the scanner driver, the options for configuring scanning settings can have different names depending on the scanner model. For example, brightness can be called threshold or be marked with a sun or black-and-white circle. The meanings of options are described in the documentation that comes with your scanner.
Scanning mode tips
  1. Scanning color background forms with a monochrome scanner. For the background to disappear during scanning, you need to equip the scanner with an appropriate light filtering lamp: for pink forms – a Red-Lamp, for green forms – a Green-Lamp.
  2. Scanning color background forms with a color scanner. For the background to disappear during scanning, you need to configure the filtration mode for the relevant color in the scanner settings.
  3. Scanning color background forms of light shades. If you are processing color forms of light shades, because of low color strength the background may disappear when you scan with a white lamp even without software filtration of color. As a rule, the method of scanning forms is chosen at the form development stage.
Brightness selection tips
  1. A scanned image must be readable (to view a scanned image, open it in the document window).
  2. If in the scanned image the letters are torn, light or thin:
    • Reduce brightness, increase contrast (make the image darker) or
    • Try to scan it in grayscale (in this case brightness will be selected automatically).
  3. If the scanned image has a dirty background; deformed, smeared or fused characters; dark, thick letters:
    • Increase brightness (make the image lighter) or
    • Try to scan it in grayscale (in this case brightness will be selected automatically).


Recognition

Documents are recognized automatically on the Processing stations.

The system selects the matching Document Definition based on anchor elements and identifiers and recognizes the data in the fields that match the fields of the selected Document Definition.

The ratio of reliably recognized characters to the total number of characters is shown in the Confidence Level column.

If changes in the project are made during recognition and if the project includes a verification stage, the Verification Operator and the senior Verification Operator may manually re-recognize the documents using the new settings. To re-recognize the documents, start the Verification Station and select Tools>Update to Latest Version from the main menu.

Note: The following message can occur during recognition: "Cannot create <ProjectDirectory>\<BatchName>\BatchHeader.tmp". The specified file already exists." The error occurs because of Windows Search indexing service which affects working of the program. Windows Search indexing service processes files which are created in the project folder and deleted during operating of the program which causes the error. For this reason we recommend that you should disable Windows Search indexing service.


Preliminary image analysis and applying Document Definitions

Recognition, analysis, and matching Document Definitions are done automatically. However, the Verification Operator and the Senior Verification Operator may run analysis and Document Definition matching manually by selecting Tools > Re-analyze on the Verification Station. If a Document Definition matches a document, the page and its document will have the corresponding names. If one of the Document Definitions in the project does not match an image, the page remains unprocessed.

Before running recognition, you can analyze, or determine, which Document Definition can be applied to a particular page. To this end, select the main menu item Recognition > Analyze. If a Document Definition can be applied, the page and the document it belongs to will be named accordingly. If none of the project Document Definitions matches the image, the page will remain unprocessed.

You can also apply a certain Document Definition to a page or to an entire document. In most cases, a Document Definition that has been correctly created in the program applies to pages automatically, but in some cases you may have to apply a Document Definition manually.

To apply a Document Definition:

  1. Highlight the document;
  2. Select Match Document Definition… in the shortcut menu of the document or the main menu item Recognition>Match Document Definition…;
  3. In the Select Document Definition dialog box that opens, select one of the Document Definitions and click OK.

If the selected Document Definition has been applied successfully, the document and its pages will be assigned names of the relevant Document Definition and its sections.

To apply a Document Definition to one of the pages:

  1. Highlight the page;
  2. Select Match Document Definition… from the shortcut menu of the page or the main menu item Recognition>Match Document Definition…;
  3. In the Select Document Definition to Match dialog box that opens, select one of the Document Definitions and click OK.

Where the Document Definition is applied successfully, the selected page will be assigned a name of the corresponding Document Definition section.


Verification of recognized data

Verification, or checking of recognized data, is the most labor-intensive part of the operator's work. For this reason the verification process in ABBYY FlexiCapture 10 is organized so as to be as convenient as possible for the operator and to minimize the number of errors.

Where the program does not have absolute certainty about the accuracy of recognition of certain characters, it marks them as uncertainly recognized. The purpose of the verification process is to verify such characters, make sure that they have been recognized correctly, and correct them where necessary.

Rule validation is performed automatically. If field values satisfy rule conditions, these fields may be marked as certainly recognized and be excluded from the verification process. Where field values do no meet rule conditions, such fields are submitted for verification.

In the case of multipage documents, you must first check the assembly of pages into documents.

Then run the verification process. Verification is a two-stage process – group and field verification. If the Document Definition has no fields included in group or field verification (see Field verification properties), then the relevant verification stage will be omitted.

Group and field verification is followed by verification in the document window. The characters that were not confirmed at the earlier stages remain highlighted in red.

You can navigate among errors by clicking the buttons [image] and [image] on the main window toolbar. The program navigates all errors, including assembly errors, uncertainly recognized characters, rule errors, etc.

маркированный список | Assembling pages into documents
маркированный список | Group verification
маркированный список | Field verification
маркированный список | Verification in the document window
маркированный список | Rule validation


Assembling pages into documents

Pages are assembled into documents automatically or by an explicit user command. The assembly principle can be described when creating a Document Definition for multipage document processing and when creating custom processing stages in batch type properties. These assembly types differ in the time when they are performed and in the kind of documents they can access.

Specifics of assembly described in Document Definition properties

  1. Runs:
    • when selecting a command: Tools > Refresh Assembly
    • after analyzing/recognizing a set of documents; in this case, the assembly includes only documents involved in analysis/recognition
  2. Both standard assembly rules and an assembly script can apply.
  3. Document for which the IsExcludedFromAutomaticAssembly flag is set to true, are exluded from assembly. The IsExcludedFromAutomaticAssembly is set to true if:
    • document structure is defined during the import stage (by XML-description, when splitting documents by blank pages, patch-codes or multipage files)
    • the Match Document Definition… is applied to the document
    • the flag can be set from any script from which editing documents is allowed
  4. The assembly is not performed for documents recognized with different Document Definitions or with different versions of the same Document Definition.
  5. The assembly is not performed is the Document Definition is not matched. For example, if all pages of the batch are annex pages, the assembly is not performed.
  6. The order of pages cannot be changed during the assembly.

Specifics of assembly described in batch type properties

  1. Runs when documents enter the corresponding stage.
  2. Described by processing scripts.
  3. Allows you to move and delete pages and documents.

The operator's task is to identify and correct possible document assembly errors.

Assembly errors can be corrected most conveniently in the page outline mode that gives the user a good view of page images and the documents to which they belong. You can switch to this mode by clicking the [image] button.

Note: You can change the scale of page outlines to view details by holding down the Ctrl key and turning the scroll wheel.

Note: The order of sections will not be checked if, when creating the Document Definition, the Disable sections order check option was selected on the Assembly tab. The program will still check to make sure that all the sections are present in the document, but the order of sections will be ignored.

When creating a Document Definition, you need to configure the document assembly rule: sequence and number of recurring document sections. You can also configure an assembly verification based on the values of key fields: in this case the values of key fields must be identical on all pages of the document.

Documents with assembly errors are marked with this symbol [image]. Error description is provided in red lettering under the name of the Document Definition.

How to correct assembly errors

  1. Incorrect page sequence in a document

    There may be too few or too many pages, or document pages are not arranged in the correct sequence. To read a tip, place your cursor over the page marked with a red cross:

    To correct such errors, you can use your mouse to move the page both within a single document and from one document to another.

    Pages of several documents can be merged into a single document as follows:

    • Highlight documents to be merged (use Ctrl-Click to select several documents);
    • Right-click and select Merge from the shortcut menu.

    To split pages in a document and to place each one of them into a separate document:

    • Highlight the document in which you want to split pages;
    • Select Split from the shortcut menu.

  2. If the Document Definition requires verification of key fields for correct assembly of pages, the values of key fields will be displayed under the image of each page:

    • highlighted in gray – in the event of a match;
    • highlighted in red – in the event of a mismatch.

    Key fields may not match if they have been recognized or filled in incorrectly. Check the values of key fields. If the values of key fields still do not match, it is likely that such pages do not belong to the same document. If the page sequence is wrong, find pages with identical key fields and assemble them into documents as described in item 1.


Group verification

Group verification involves checking character images recognized as having identical values. It enables the operator to easily identify and correct characters that deviate from the group.

During group verification, the operator can view the context of the character being verified by selecting the Show Character Image item from the shortcut menu of the highlighted character or by pressing F2.

You can also activate a mode whereby the field containing the character will display when you point your cursor to the character being verified. To this end, select the menu item View>Field Image>Show Field Image in the verifier window or use the Ctrl+I shortcut.

Incorrectly recognized characters can be corrected as follows: highlight the character that does not match the group character and enter the correct value. This value, highlighted in green, will appear in the upper left corner of the character image.

If irrelevant image is recognized as a character, you can remove it by pressing the Delete button.

If you still have doubts about the character's meaning, even after viewing its context, left-click the character: it will be highlighted with a red question mark. You can confirm or correct it later during field verification.

Character status can be also switched using the Toggle button on the toolbar.

When all incorrectly recognized characters are corrected or postponed, you can confirm all other characters at once, click the Confirm All button on the toolbar. You can also confirm correctly recognized characters one by one by selecting Confirm from the shortcut menu.


Field verification

Field verification is a verification mode intended for effective correction of errors of "well-recognized" fields, i.e. fields whose range of values is known or can be easily identified. An example of such a field is the country or city name: we know what values this field can have.

To decide how to correct a field value, the user needs only view this field and know its range of values. Both input errors and field format errors can be corrected.

To correct incorrectly recognized characters, you can use standard modes of text editors: Character paste and replace modes – you can switch between the two modes by pressing the Insert button on the keyboard.

You can change correction mode, for example, turn on selection of a whole field to retype it all. You can also change the window appearance to see more information, e.g. field image, images of analogous fields of another documents etc.

The user reviews the result of recognition of each field in a sequence, correcting them if required and confirming them by clicking the Confirm Field button.

You need to correct values in the fields. If it is impossible to correct them, you can skip the field or defer verification by clicking the Postpone button in order to correct it in the Verification stage.


Verification in the document window

The document window also lets you check the accuracy of recognition and correct incorrectly recognized characters. The document window opens when you double-click the page name. The document window comprises the data region, the page image, and the errors region (if such errors are present). You can select the error types to be displayed: assembly errors, format errors, rule errors, or any combination thereof. To display errors of a certain type, click the corresponding button in the top right corner of the errors pane.

In the document window, the operator then sees not just character groups or separate fields but the entire document. You can configure the window layout by clicking the Layout button. To view page image on a secondary monitor, select Image Window > Undocked. In this mode, you can scale page image, select a block and delete unnecessary separators.

Show document window

In the data region, uncertainly recognized and questionable characters are marked with color, and fields with incorrect data types or unfulfilled rules are highlighted.

To confirm a field with uncertainly recognized characters, place the cursor on the field and press Enter.

Fields for viewing and editing recognized data can be arranged not only sequentially, but in any other way that is convenient for the user. You can change their arrangement in the Document Definition editor, see Configuring data presentation in the document window.

You can navigate to the next error in the document window by clicking the buttons [image] and [image] on the main window toolbar. The program navigates all errors, including assembly errors, rule errors, mismatches of key fields, etc.

Fast input of values for unmatched fields

This functionality is available for projects with flexible descriptions and enables fast input of field value if the field was not matched.

Fast input mode allows you to transfer data to an active field from the region selected with a mouse. For the mode to be available during verification, the Save recognized words to cache option must be selected in the Document Definition properties. With this option, recognized data from cache will be used for substitution.

If the field value is not found or is found incorrectly, click the field region on the page to quickly add the value. Or you can select a part of the text holding the mouse button. If there is only one unmatched field in the document, the value will be added automatically. Otherwise, you will be prompted to choose the value associated with the field.

If neither of suggested values is correct, then, if verification is performed in the Project Setup Station or Verification Station, in the region local menu, choose Recognize(Ctrl+R). The field will be recognized according to the settings specified for the field in the Document Definition. If verification is performed in a Web-station, this feature is unavaialbe.

The navigation mode through unmatched fields

To navigate through fields whose regions were not detected, select the Go to Next Unmatched Field on Matching option in the local menu of the document window. When this mode is enabled, the first unmatched field gets the focus. When entering the field value or when clicking [image] and [image] buttons, focus shifts to the next unmatched field.

Note: For the field to be highlighted if its region is not found and available in the Go to Next Unmatched Field on Matching mode, the Should be matched option must be enabled in the properties of the field.


Rule verification

Rule validation

Rules not satisfied are flagged: with a yellow flag [image] (warning) or a red flag [image] (error).

Rule errors are displayed in a separate window of the document editor, and documents with unfulfilled rules are marked with red flags.

In the case of unfulfilled rules, the operator must check the quality of data recognition. If it is a recognition error, the operator must correct it. If it is a form-filling error that cannot be corrected, the operator should not export the document. Documents with errors can be verified later by comparing them with hardcopy documents or other available sources.

To re-check data for rule errors, click the arrow to the right of the Run Verification… button and select the Re-check Rules menu item. If rules are satisfied after you have corrected field values, flags will be removed.


Distributed verification

Distributed verification allows you to restrict the set of fields that require verification. You can specify the data set both for the Data verification or Verification stages. For this, on the Data Set tab of the corresponding stage properties dialog box, select the fields to be processed in the stage.

Important! If there are errors in other fields of the document which are not included in the specified set, no error messages will be output.

You can also create a custom stage based on the Data verification or Verification stage and specify a different data set for this custom stage. The rule specifying the stage to which the document will be sent is set up with a script. Thus, different document fields can be verified in different stages.

For Data verification stage, you can use the Hide the page image outside of the selected fields option. If this option is selected, only fields from the specified data set will be available to operator. All other fields will be hidden. Select this option if you need to ensure a high security level for your documents.

Note: If the Hide the page image outside of the selected fields option is selected, but the field region has been detected incorrectly or with a shift when matching a Document Definition, the operator can fail to verify the field. In this case, the operator should send the image to the Exceptions stage.


Double verification

Double verification is a data verification mode where fields are verified by two different operators.

To enable double verification:

  1. Select the Need double verification option in the field properties.
  2. Select the Double verification option on the Data Set tab of the stage settings dialog box.

Merging results of double verification is performed in the Processing Server. If verification results match, the document is sent to the next stage. Otherwise the check is carried out by the resultant hand.

Double verification can be carried out on Web Data Verification Station.


Exporting recognized data

Documents are exported automatically. Depending on the settings, an additional confirmation by the Senior Verification Operator may be required. Documents are exported in accordance with the settings provided in the Document Definition. If there are no export settings in the Document Definition, the documents are exported based on the project settings. If some of the documents need to be exported ahead of the others, they can be sent to the export queue at the export stage.

Documents can also be exported manually on the Verification Station or on the Project Setup Station.

Exporting data to a file

  1. To export data to a file, select Export To>Data to Files… from the shortcut menu of the document. The Export to data files dialog box appears.
  2. If required, adjust the export settings by clicking Settings... Click OK to apply the changes.
  3. Click Export to export the data.

Exporting images to file

  1. To export images to a file, select Export To>Images to Files… from the shortcut menu of the document. The Export to image files dialog box appears.
  2. If required, adjust the export settings by clicking Settings… Click OK to apply the changes.
  3. Click Export to export the data.

Exporting data to a database

  1. To export data to a database, select Export To>Database... from the shortcut menu of the document. The Export to ODBC-compatible database dialog box appears.
  2. Specify the export settings.
  3. Click OK to export the data.


Background mode

The processing stages that do not require operator involvement, are performed by the Processing Server automatically. However, they can also be performed manually on the Verification Station or on the Project Setup Station, in which case they can be run in background mode.

Whenever no operator control is required, documents can be imported, recognized, and exported in background mode.

To transfer a task into background mode, click the Background Mode button in the Adding images… dialog box (or in Recognizing… or Exporting…... dialog box).

The following tasks can run in background mode:

  • Loading images using the corresponding import profile.
  • Document recognition, if the Recognize added images automatically option is selected (Tools > Options…, Document Processing tab).

When switching into background mode, the [image] icon appears on the task bar. Clicking this icon opens the Background Tasks dialog box, which displays the list of tasks.

  • The tasks are executed either in the order in which they come in or based on the priorities set by the user (Set Priority… button).
  • Task execution is logged in a log file which can be customized by the user (Tools > Options…, Task Progress tab). Click the View Log button to view the log.
  • You can interrupt a task by clicking the End Task button.

The program may also inform you about the progress of background tasks in balloon pop-up messages displayed in the bottom right corner. The messages appear upon task start, error, and completion. See Additional options for details.


ABBYY FlexiCapture 10 Interface

This section describes the main elements of ABBYY FlexiCapture 10 interface: the main windows, menus and toolbars.

Project Setup Station
Project Setup Station Menus
Project Setup Station Toolbars
Verification Station
Verification Station Menu
Verification Station Toolbars
Data Verification Station
Data Verification Station Menu
Data Verification Station Toolbars
Document Definition Editor
Document Definition Editor Menus
Document Definition Editor Toolbars
Group Verification Window
Group Verification Window Menus
Group Verification Window Toolbars
Field Verification Window
Field Verification Window Menus
Field Verification Window Toolbars


Project Setup Station Window

The main window of the program shows the list of document batches that are part of the project the user is working with.

Show the main window displaying the list of batches

To view the contents of a batch, double-click it. A list of documents included in the batch will be displayed.

To return to the list of batches, click Project>Batches (or Test Batches, if you are using test batches).

The main menu, with toolbars below it, is located on the top of the window.

The rest of the Main Window is occupied by the working Batch window with the list of included documents.

For projects stored on the server, you can customize the display of batches by using filter. From the drop-down list, select which batches to show:

  • All batches except processed
  • Batches on stages… - in the dialog box that opens, select the desired stage(s)
  • Batch with name prefix… - enter the prefix of a batch name
  • Batch with ID… - enter the batch ID
  • Batch containing document with ID… - enter the document ID

By default, all batches except processed are shown.

There may be up to 500 batches displayed on a page. To navigate through pages, use the arrows on the right.

The Status Bar is located on the bottom of the window. The Status Bar shows the status of the program and the operations that are currently carried out. When you position the cursor over menu items and or buttons, the Status Bar will display their short descriptions.

To check the recognized data, open the Document window. To do it, double-click the name of the document or one of its pages. The Document window consists of three parts:

  • document page image;
  • recognized data;
  • rule errors (displayed if any).

When hovering over fields with dates and numbers, a tooltip pops up. Tooltips data are displayed according to the regional settings on the computer, so the date format in the field and in the tooltip can differ. Besides the fill-in time in the tooltip is corrected according to the time zone.

For more information, see Verification in the Document Window

Show the Document window

Project Setup Station Menu
Project Setup Station Toolbars


Project Setup Station Menu

File
Menu | Description
New Project… | Creates a new project
Open Project… | Opens an existing project
Open Project from Server… | Opens an existing project from the Application Server
Close Project | Closes the current project
Save | Saves the changes
New Batch… | Creates a new batch
Load Images… | Loads images from files
Scan Images… | Adds images obtained by scanning
Import Images… | Imports images using one of the configured import profiles
Export To |
Data to Files… | Exports data to a file
Images to Files… | Exports images to files
Database… | Exports data to a database
Recent Projects | Opens one of the previously opened projects
Exit | Closes ABBYY FlexiCapture 10
Edit
Menu | Description
Undo | Cancels the last action
Redo | Restores the canceled action
Cut | Cuts the selected objects
Copy | Copies the selected objects to Clipboard
Paste | Pastes the copied object from Clipboard
Delete | Deletes the selected objects
Merge | Merges the selected pages into one document
Split | Splits the selected document into pages
Select All | Selects all objects
Find… | Finds the specified text
Find Next | Finds the next text that was previously specified
Go To |
Next Document | Goes to the next document in the batch
Previous Document | Goes to the previous document in the batch
Image |
Despeckle | Despeckles the image
Invert | Inverts the image
Flip Horisontally | Flips the image horizontally (relative to the vertical axis)
Flip Vertically | Flips the image vertically (relative to the horizontal axis)
Rotate 90° Clockwise | Rotates the image 90° clockwise
Rotate 90° Counter-Clockwise | Rotates the image 90° counterclockwise
Rotate 180° | Rotates the image 180°
Change Resolution… | Changes the resolution of the image
Save As… | Saves the image with the specified name
View
Menu | Description
Test Batches | Opens the list of test batches
Batches | Opens the list of batches
Details | Shows the documents and their pages as a detailed list
Thumbnails | Shows document images as thumbnails
Choose Columns… | Allows configuring the list of columns displayed in the detailed view mode
Document Editor |
Image Mode | Shows the page image in the document window
Data Mode | Shows the recognized data in the document window
Image Window | Allows positioning the image in the document window
Errors Window | Allows positioning the errors window in the document window
Image Scale | Allows selecting a suitable field image scale
Data Text Scale | Allows selecting the font size used when displaying recognized data
Show Toolbar | Shows/hides the toolbar in the document window. This toolbar allows correcting some of the matching errors, for example, you can add the field that wasn't found, and add or delete a table separator. This is mainly used when working with FlexiLayouts.
Show Format Error of Active Field | Allows specifying the format error display mode
Show Image in Black and White | Shows color and gray images in black and white
Thumbnails Size | Allows selecting the size of page thumbnails
Toolbars | Shows/hides the toolbars
Status Bar | Shows/hides the status bar
Full Screen | Switches to full screen mode
Refresh | Refreshes the information displayed
Properties… | Opens the document or page properties dialog box
Recognition
Menu | Description
Analyze | Analyzes the pages of the documents and finds a suitable Document Definition
Match Document Definition… | Matches the selected Document Definition to the selected document or page
Recognize | Starts the recognition
Verification
Menu | Description
Run Verification… | Starts verification
Next Item to Verify | Goes to the next verification object
Previous Item to Verify | Goes to the previous verification object
Next Document with Assembly Error(s) | Goes to the next assembly error
Previous Document with Assembly Error(s) | Goes to the previous assembly error
Next Uncertain Character | Goes to the next uncertainly recognized character
Previous Uncertain Character | Goes to the previous uncertainly recognized character
Next Rule Error | Goes to the next rule error
Previous Rule Error | Goes to the previous rule error
Project
Menu | Description
Document Definitions… | Opens the dialog box with the list of Document Definitions, which allows creating, editing, importing, and deleting them (this menu is available for the Administrator only)
Batch Types… | Opens the dialog box with the list of batch types, which allows creating, editing, and deleting them (this menu is available for the Administrator only)
Image Import Profiles… | Opens the dialog box with the list of Image import Profiles, which allows creating, copying, editing, and deleting them (this menu is available for the Administrator only)
Protect with Password… | Allows protecting the current project with a password (this menu is available for the Administrator only)
Unprotect… | Allows disabling password protection of the project (this menu is available for the Administrator only)
Export Project… | Exports the project to the specified folder. Images are taken from the current project.
Update Project… | Configures project updating. Messages and errors that appear during import can be saved to a file (right-click and then click - Export to File).
Project Properties… | Opens the Project Properties dialog box
Tools
Menu | Description
Update to Latest Version | Applies the project changes to the currently processed documents
Re-analyze | Re-analyzes the documents
Re-recognize | Re-recognizes the documents
Refresh Assembly | Refreshes the pages' assembly into documents
Re-check Rules | Re-checks rules
Check Batch Integrity | Checks batch integrity
Change Batch Priority | Allows selecting batch priority
Change Batch Type… | Changes the batch type
Options… | Opens the Options dialog box, where you can configure different properties such as background task processing, window view, and other.
Help
Menu | Description
Help Topics | Opens the ABBYY FlexiCapture 10 help file
Technical Support | Opens the Technical Support section in the program help
How to Buy ABBYY Products | Opens the Buying ABBYY FlexiCapture 10 section in the program help
ABBYY Web-site | Opens the ABBYY website
Send Feedback… | Allows sending feedback to ABBYY: the user's opinion, wishes or comments
About ABBYY FlexiCapture | Opens the About ABBYY FlexiCapture 10 dialog box containing brief description of the program.


Project Setup Station Toolbars

The standard toolbar

Tool | Button | Description
Open Project |  | Opens a project
Save Changes |  | Saves the changes
Cut |  | When working with data in the document image, cuts the selected object
Copy |  | Copies the selected object to
Paste |  | Pastes the copied object from Clipboard
Delete |  | Deletes the selected object
Undo |  | Cancels the last action
Redo |  | Restores the canceled action
Documents view

Tool | Button | Description
Details View |  | Shows the documents and their pages as a detailed list
Thumbnails View |  | Позволяет просматривать изображения страниц документов в виде уменьшенных копий
Test Batches List |  | Shows the list of test batches
Work Batches List |  | Shows the list of work batches
Refresh |  | Refreshes the information in the main window
Navigation

Tool | Button | Description
Previous Item to Verify |  | Goes to the previous verification object. The navigation is carried out through all errors, including assembly errors, uncertainly recognized characters, rule errors, key field mismatching, etc.
Next Item to Verify |  | Goes to the next verification object. The navigation is carried out through all errors, including assembly errors, uncertainly recognized characters, rule errors, key field mismatching, etc.
Previous Document |  | Goes to the previous document.
Next Document |  | Goes to the next document.
Project setup

Tool | Button | Description
Document Definitions… |  | Opens the window with the list of Document Definitions in the project.
Batch Types… |  | Opens the window with the list of batch types in the project.
Project Properties… |  | Opens the Project Properties window.
Show Image Import Profile |  | Opens the window with the list of Image Import Profiles in the project.
Upload Project to Server… |  | Opens the window allowing to upload the project to the Application Server.


Verification station window

Verification Station

The main window of the program shows the list of queues processing tasks are chosen from.

A Verification Operator and Senior Verification Operator can access several queues with processing tasks (for information about the purpose of queues, please refer to the Verification Station article).

Show the main window displaying the list of queues

The tasks window displays the following information:

All Tasks Count – the total number of tasks from the given queue, both automatic and formed by operators, that are being processed at the moment.

Max Priority – the highest priority assigned to one or more tasks of the given queue.

Personal Tasks Count – the number of processing tasks assigned to the given operator.

Out-of-Processing Documents Count – the number of documents to be processed which are included in tasks automatically created by the program.

Formed Tasks Count – the number of tasks created by operators manually, e.g. when forcedly sending documents to the given documents queue as a separate task (with the Create task option selected in the sending dialog box).

Out-of-Processing Batches Count – the number of batches sent to the given queue by the operator manually without creating a separate task.

When a task is received, the window will show the list of documents in the task.

Show the main window displaying the list of documents

The main menu, with toolbars below, it is located on the top of the window.

The rest of the Main Window is occupied by the working space with a list of queues or documents.

In the Batches view mode, you can view the following information about the project batches: the number of batch documents and pages, priority, the number of recognized, verified and exported characters, the current stage, etc. For projects stored on the server, you can customize the display of batches by using filter. From the drop-down list, select which batches to show:

  • All batches except processed
  • Batches on stages… - in the dialog box that opens, select the desired stage(s)
  • Batch with name prefix… - enter the prefix of a batch name
  • Batch with ID… - enter the batch ID
  • Batch containing document with ID… - enter the document ID

By default, all batches except processed are shown.

There may be up to 500 batches displayed on a page. To navigate through pages, use the arrows on the right.

The Status Bar is located on the bottom of the window. The Status Bar shows the status of the program and the operations that are currently carried out. When you position the cursor over menu items and or buttons, the Status Bar will display their short descriptions.

Verification Station Menu
Verification Station Toolbars


Verification Station Menu

File
Menu | Description
Open Project from Server… | Opens an existing project from the Application Server
Close Project | Closes the current project
Save | Saves the changes on the server
Load Images… | Loads images from files
Scan Images… | Adds images obtained by scanning
Export To |
Data to Files… | Exports data to a file
Images to Files… | Exports images to files
Database… | Exports data to a database
Recent Projects | Opens one of the previously opened projects
Exit | Closes ABBYY FlexiCaptuer 10
Edit
Menu | Description
Undo | Cancels the last action
Redo | Restores the canceled action
Cut | Cuts the selected objects
Copy | Copies the selected objects to Clipboard
Paste | Pastes the copied object from Clipboard
Delete | Deletes the selected objects
Merge | Merges the selected pages into one document
Split | Splits the selected document into pages
Select All | Selects all objects
Find… | Finds specified text
Find Next | Finds the next text that was previously specified
Go To |
Next Document | Goes to the next document in the batch
Previous Document | Goes to the previous document in the batch
Image |
Despeckle | Despeckles the image
Invert | Inverts the image
Flip Horisontally | Flips the image horizontally (relative to the vertical axis)
Flip Vertically | Flips the image vertically (relative to the horizontal axis)
Rotate 90° Clockwise | Rotates the image 90° clockwise
Rotate 90° Counter-Clockwise | Rotates the image 90° counterclockwise
Rotate 180° | Rotates the image 180°
Change Resolution… | Changes the resolution of the image
Save As… | Saves the image with the specified name
View
Menu | Description
Batches | Opens the list of batches
Queues | Opens the list of queues
Details | Shows the documents and their pages as a detailed list
Thumbnails | Shows document images as thumbnails
Choose Columns… | Allows configuring the list of columns displayed in the detailed view mode
Document Editor |
Image Mode | Shows the page image in the document window
Data Mode | Shows the recognized data in the document window
Image Window | Allows positioning the image in the document window
Errors Window | Allows positioning the errors window in the document window
Image Scale | Allows selecting a suitable field image scale
Data Text Scale | Allows selecting the font size used when displaying recognized data
Show Toolbar | Shows/hides the toolbar in the document window. This toolbar allows correcting some of the matching errors, for example, you can add the field that wasn't found, and add or delete a table separator. This is mainly used when working with FlexiLayouts.
Show Format Error of Active Field | Allows specifying the format error display mode
Show Image in Black and White | Shows color and gray images in black and white
Thumbnails Size | Allows selecting the size of page thumbnails
Toolbars | Shows/hides the toolbars
Status Bar | Shows/hides the status bar
Full Screen | Switches to full screen mode
Refresh | Refreshes the information displayed
Recognition
Menu | Description
Analyze | Analyzes the pages of the documents and finds a suitable Document Definition
Match Document Definition… | Matches the selected Document Definition to the selected document or page
Recognize | Starts the recognition
Tasks
Menu | Description
Get Task | Gets a task from the selected queue
Close Task | Closes the current task and returns it to the Application Server as completed
Show Task Comment | Shows comments to the task
Reject Task | Rejects the current task and returns it to the Application Server
Postpone Task… | Postpones the current task for later processing
Send to Exception...(for the Senior Verification Operator - Send to stage...) | Sends the current task to Exceptions (the Senior Verification Operator can send the task to any processing stage)
Mark Documents to Exception/Mark Documents to Rescanning (for the Senior Verification Operator - Mark Documents to Stage) | Sends the selected documents to a new Exception
Add Documents to Marked… | Adds the selected documents to an existing Exception
Delete Sending Mark | Deletes the documents from the Exception
Sending Marks… | Shows the list of Exceptions
Automatic Task Receive | Enables/disables automatic task getting
Edit batch | The command is available if at least one document of the batch belongs to the task. If all document belong to the same task, opens this task. If the documnets belong to different tasks, creates a task for the batch in the Exceptions stage.
Edit document | The command is available if at least one of selected documents belongs to the task. If all selected documents belong to the same task, opens this task. If the documnets belong to different tasks, starts editing the whole batch and creates a task for the batch in the Exceptions stage.
Verification
Menu | Description
Run Verification… | Starts verification
Next Item to Verify | Goes to the next verification object
Previous Item to Verify | Goes to the previous verification object
Next Document with Assembly Error(s) | Goes to the next assembly error
Previous Document with Assembly Error(s) | Goes to the previous assembly error
Next Uncertain Character | Goes to the next uncertainly recognized character
Previous Uncertain Character | Goes to the previous uncertainly recognized character
Next Rule Error | Goes to the next rule error
Previous Rule Error | Goes to the previous rule error
Tools
Menu | Description
Update to Latest Version | Applies the project changes to the currently processed documents
Re-analyze | Re-analyzes the documents
Re-recognize | Re-recognizes the documents
Refresh Assembly | Refreshes the pages' assembly into documents
Re-check Rules | Re-checks rules
Check Batch Integrity | Checks batch integrity
Change Batch Priority | Allows selecting batch priority
Change Batch Type… | Changes the batch type
Options… | Opens the Options dialog box, where you can configure different properties such as background task processing, window view, and other
Help
Menu | Description
Help Topics | Opens the ABBYY FlexiCapture 10 help file
Technical Support | Opens the Technical Support section in the program help
How to Buy ABBYY Products | Opens the Buying ABBYY FlexiCapture 10 section in the program help
ABBYY Web-site | Opens the ABBYY website
Send Feedback… | Allows sending feedback to ABBYY: the user's opinion, wishes or comments
About ABBYY FlexiCapture | Opens the About ABBYY FlexiCapture 10 dialog box containing brief description of the program.


Verification station toolbar

Verification Station Toolbars

The standard toolbar

Tool | Button | Description
Open Project from Server… |  | Opens a project from server.
Save Changes |  | Saves the changes.
Cut |  | When working with data in the document window, cuts the selected object.
Copy |  | Copies the selected object.
Paste |  | Pastes the copied object from Clipboard.
Delete |  | Deletes the selected object.
Undo |  | Cancels the last action.
Redo |  | Restores the canceled action.
Documents view

Tool | Button | Description
Details |  | Shows the documents and their pages as a detailed list.
Thumbnails |  | Shows thumbnails of document images.
Test Batches |  | Shows the list of test batches.
Work Batches |  | Shows the list of work batches.
Refresh |  | Refreshes information in the main window.
Navigation

Tools | Button | Description
Previous Item to Verify |  | Goes to the previous verification object. The navigation is carried out through all errors, including assembly errors, uncertainly recognized characters, rule errors, key field mismatching, etc.
Next Item to Verify |  | Goes to the next verification object. The navigation is carried out through all errors, including assembly errors, uncertainly recognized characters, rule errors, key field mismatching, etc.
Previous Document |  | Goes to the previous document.
Next Document |  | Goes to the next document.
Queues and tasks

Tool | Button | Description
Get Task |  | Opens a task from the selected queue.
Close Task |  | Returns the task to the server.
Mark for sending to exception |  | Marks the document for sending to Exceptions (for the Senior Verification Operator - to the selected processing stage). When closing or rejecting the task, you will be prompted to send marked documents to Exceptions
Mark for sending to rescanning |  | Marks the document for sending Rescanning. When closing or rejecting the task, you will be prompted to send marked documents to Rescanning.
Unmark documents |  | Unmarks the selected document marked for sending to Exceptions or Rescanning.
Postpone Task… |  | Postpones the task.
Reject Task |  | Cancels the task (it will be sent to another Operator by the server).
Automatic Task Receive |  | Enables/disables automatic task getting.


Data verification station main window

Data Verification Station

The main window of the program shows the names of the queues tasks are taken from (data verification queues).

After you get a task, the Group and Field Verification windows will open consecutively.

The main menu, with toolbars below it, is located on the top of the window.

The Status Bar is located on the bottom of the window. The Status Bar shows the status of the program and the operations being carried out. When you position the cursor over menu items or buttons, the Status Bar will display their short descriptions.

Data Verification Station Menu
Data Verification Station Toolbars


Data Verification Station Menu

File
Menu | Description
Open Project from Server… | Opens an existing project from the Application Server
Close Project | Closes the current project
Recent Projects | Opens one of the previously opened projects
Exit | Closes ABBYY FlexiCapture 10
View
Menu | Description
Toolbars | Shows/hides the toolbars
Status Bar | Shows/hides the status bar
Full Screen | Switches to full screen mode
Refresh | Refreshes the information displayed
Tasks
Menu | Description
Get Task | Gets a task from the selected queue
Show Task Comment | Shows comments on the task
Reject Task | Rejects the current task and returns it to the Application Server
Send Task to Exception… | Sends the current task to Exceptions
Automatic Task Receive | Enables/disables automatic task receive mode
Tools
Menu | Description
Options… | Opens the Options dialog box, where you can configure different properties such as background task processing, window view, and other
Help
Menu | Description
Help Topics | Opens the ABBYY FlexiCapture 10 help file
About ABBYY FlexiCapture | Opens the About ABBYY FlexiCapture 10 dialog box containing brief description of the program.


Data Verification Station Toolbars

Queues and tasks

Tool | Button | Description
Get Task |  | Opens a task from the selected queue.
Reject Task |  | Rejects the task (it will be later sent to another Operator by the server).
Refresh |  | Refreshes information in the main window.
Automatic Task Receive |  | Enables/disables automatic task receive mode.


Document Definition editor window

Document Definitions are created and edited in the Document Definition editor window.

To open the Document Definition editor, from the main window of the program:

  1. Select the menu item Project>Document Definitions…;
  2. In the Document Definitions dialog box that opens, highlight the Document Definition name and click Edit….

The Document Definition editor window also opens when the Document Definition Wizard finishes.

Show Document Definition editor window

The Document Definition editor window consists of three parts:

  1. The page image with the marking of fields and static elements shown at the top-left.

    The program has two modes for handling fields and static elements:

    • the field marking mode – enabled by clicking the [image] button;
    • static elements mode – enabled by clicking the [image] button.
  2. The editor for configuring the presentation of recognized data is at the bottom left.
  3. The document structure with a list of all Document Definition fields (Fields tab) is on the right-hand side. You can also switch to the page outline mode (Pages tab).

Document Definition editor menu
Toolbars of the Document Definition editor


The Document Definition editor menu

Document Definition
Menu item | Description
Add Page… | Adds a new page image to the Document Definition
Add Document Section… | Adds a new section to the batch
Import Document Section… | Imports selected document section
Script Modules |
Rule Script… | Opens the Rule Global Script Module of the Script Editor. For more about script modules, see Using scripts in FlexiCapture 10.
Export Script… | Opens the Export Global Script Module of the Script Editor. For more about script modules, see Using scripts in FlexiCapture 10.
Export Settings… | Opens the Export Settings dialog box for configuring data export options
Document Definition Properties… | Opens a dialog box for viewing and editing Document Definition properties
Save | Saves changes
Close | Closes the Document Definition editor
Edit
Menu item | Description
Undo | Undoes the previous action
Redo | Redoes the undone action
Cut | Cuts highlighted objects
Copy | Copies highlighted objects to clipboard
Paste | Pastes clipboard contents
Delete | Deletes highlighted objects
Delete Region | Removes regions from the images of highlighted objects
Select All | Selects all
Select by Type… | Detects objects of a certain type
Create Field |
Text | Adds a text entry field to the document structure (without a region on the image)
Checkmark | Adds a checkmark field to the document structure (without a region on the image)
Checkmark Group | Adds a checkmark group field to the document structure (without a region on the image)
Barcode | Adds a barcode field to the document structure (without a region on the image)
Picture | Adds a picture field to the document structure (without a region on the image)
Table | Adds a table field to the document structure (without a region on the image)
Group | Adds a group of fields to the document structure (without a region on the image)
Group | Groups highlighted objects
Ungroup | Ungroups highlighted objects
Copy Text from Image… | Gets text from any region of the image and stores it to clipboard. After selecting this command, highlight the region where the desired text is located.
Image... |
Despeckle | Removes noise from image
Invert | Inverts image
Rotate 90° Clockwise | Rotates image by 90° clockwise
Rotate 90° Counter-Clockwise | Rotates image by 90° counterclockwise
Rotate 180° | Rotates image by 180°
Change Resolution… | Opens the Set Resolution dialog box where you can specify a new image resolution value
Save As… | Saves the image of the template page to the specified file
Replace… | Replaces the image of the template page
View
Menu item | Description
Image Layout |
Static Elements | Switches to Static Elements Mode
Field Regions | Switches to Field Marking Mode
Document Structure |
Show Document Structure | Shows/hides the document structure window
Fields | Switches the Document Structure window to the Fields mode
Pages | Switches the Document Structure window to the Pages mode
Data Form | Shows/hides the data editor window
Layout Toolbar |
Horizontal | Docks the toolbar of the image layout window horizontally
Vertical | Docks the toolbar of the image layout window vertically
Status Bar | Shows/hides the status bar
Show Image in Black and White | Shows color and grayscale images of pages in the black-and-white mode
Image Scale | Selects an appropriate image scale
Properties… | Opens a dialog box for viewing and editing highlighted object properties
Testing
Menu item | Description
Run Test | Starts testing the Document Definition on the document image.
Finish Test | Stops testing the Document Definition.
Image Mode | Displays the page image in the document window.
Data Mode | Displays the recognized data in the document window.
Layout |
Image Window | Changes the position of the image in the document window.
Top | Places the image window at the top of the screen.
Bottom | Places the image window at the bottom of the screen.
Left | Places the image window on the left.
Right | Places the image window on the right.
Errors Window | Changes the position of the errors window in the document window.
Top | Places the errors window at the top of the screen.
Bottom | Places the errors window at the bottom of the screen.
Left | Places the errors window on the left.
Right | Places the errors window on the right.
Show Toolbar | Shows/hides the toolbar in data mode. In the image mode, the toolbar is always displayed and cannot be hidden.
Verification |
Next Item to Verify | Goes to the next item to be verified.
Previous Item to Verify | Goes to the previous item to be verified.
Next Uncertain Character | Goes to the next uncertain character.
Previous Uncertain Character | Goes to the previous uncertain character.
Next Rule Error | Goes to the next rule error.
Previous Rule Error | Goes to the previous rule error.
Batch
Menu item | Description
Switch to Test Batch… | Allows testing the Document Definition using test batches
Close Test Batch… | Closes the test batch
View |
Details | Switches to Details view mode
Thumbnails | Switches to Thumbnails view mode
Customize Documents Table… | Opens the Choose Columns dialog box where you can select the columns you want to display and customize their view
Load Images… | Opens the Load Images dialog box where you can select images to be loaded and specify image pre-processing options
Scan Images… | Opens the dialog box where you can scan images to be added to the batch
Recognize | Recognizes the batch
Run Verification… | Runs verification on the batch
Export | Exports the batch
Export to |
Data to Files… | Opens the dialog box where you can specify data saving options
Images to Files… | Opens the dialog box where you can specify image saving options
Database… | Opens the dialog box where you can configure database connection settings
Tools
Menu item | Description
Autodetect Objects… | Automatically detects and highlights fields and static elements of a certain type (depending on the mode)
Check Document Definition | Checks the Document Definition
Match Section | Checks the matching of a Document Definition section
Update FlexiLayouts… | Allows updating used FlexiLayouts
Help
Menu item | Description
Help Topics | Opens the Help Topics of ABBYY FlexiCapture 10
Send Feedback… | Allows users to send comments and suggestions to ABBYY.


The Document Definition editor toolbars

Standard toolbar

Name | Button | Description
Save Changes |  | Saves changes
Cut |  | Cuts a selected object when you work with data in the document window
Copy |  | Copies a selected object
Paste |  | Pastes a previously copied object from the clipboard
Delete |  | Deletes a highlighted object
Undo |  | Undoes the previous action
Redo |  | Redoes a previously undone action
Check Document Definition |  | Checks a Document Definition. Check results display in the bottom part of the Document Definition editor window
Toolbar in the image layout window

The toolbar in the image layout window is used to create static elements and Document Definition fields. The set of buttons on the toolbar changes according to the selected mode.

In static elements mode:

In field marking mode:

This toolbar can be docked horizontally or vertically. The orientation of the toolbar can be changed under View>Layout Toolbar.
Name | Button | Description
General
Static Elements Mode |  | Switches to Static Elements Mode
Field Regions Mode |  | Switches to Field Regions Mode
Zoom |  | Increases the image scale
Auto Detect Objects |  | Automatically detects objects on the image. Select this tool and then left-click in the object region.
Select Regions |  | Highlights regions of objects that have been marked on the image. To highlight a region, select this tool and left-click in the object region.
In the static elements mode
Create Anchor |  | Creates an anchor. Select this tool and then use the mouse to frame the anchor with a rectangle.
Create Separator |  | Creates a separator. Select this tool and then use the mouse to frame the separator with a rectangle.
Create Anchor Text |  | Creates an anchor text. Select this tool and then use the mouse to frame the text with a rectangle.
Create Anchor Barcode |  | Creates an anchor barcode. Select this tool and then use the mouse to frame the barcode with a rectangle.
In the field marking mode
Create Text |  | Creates a text entry field. Select this tool and then use the mouse to frame the text entry region with a rectangle.
Create Checkmark |  | Creates a checkmark field. Select this tool and then use the mouse to frame the checkmark region with a rectangle.
Create Checkmark Group |  | Creates a checkmark group. Select this tool and then use the mouse to frame the checkmark group with a rectangle.
Create Barcode |  | Creates a barcode field. Select this tool and then use the mouse to frame the barcode with a rectangle.
Create Picture |  | Creates a picture field. Select this tool and then use the mouse to frame the picture with a rectangle.
Create Table |  | Creates a table field. Select this tool and then use the mouse to frame the table with a rectangle. Additional table marking buttons will appear on the toolbar.
Create Group |  | Creates a field group. Select this tool and then use the mouse to frame the field group with a rectangle.
Create Region for Field without Region |  | Creates a region for a field that is included in the document structure but does not have a region on the image. Select this tool and then use the mouse to frame the field region with a rectangle. Select a name from the dropdown list. (The list shows names of fields that do not have a region on the image).
Create Unrecognizable Region |  | Highlights a field that will be excluded from the recognition process.
Buttons for table marking Shown if at least one table has been created in the given Document Definition section
Delete Separator |  | Deletes a separator


The Group Verifier Window

The Group Verification window appears at the start of data verification.

This window is used to visually check the characters recognized with the same value. Identically recognized characters are displayed to allow identification and correction of the characters that stand out. See Group Verification.

The Group Verifier Window Menu
The Group Verifier Window Toolbars


The Group Verifier Window Menu

Queues and tasks (this toolbar is available at the Data Verification Station only)
Menu | Description
Get Task | Gets a new data verification task
Send Task to Exception… | Sends the current task to Exceptions
Reject Task | Rejects the current task (it will be returned to the Operator at a certain moment)
Refresh | Refreshes information about the tasks
Verification
Menu | Description
Confirm All | Confirms correct verification of all characters and goes to the next stage
Postpone All | Postpones verification of all characters and marks them with a question mark
Toggle | Postpones verification of the selected character and marks it with a question mark
Next Page | Goes to the next page if all the characters don't fit in one screen
Previous Page | Goes to the previous page if all the characters don't fit in one screen
Close | Closes the verification window
Edit
Menu | Description
Undo | Cancels the last action
Redo | Restores the canceled action
Select All | Selects all characters
View
Menu | Description
Field Image |
Show Field Image | Shows/hides the image of the field with the current character
On Top | Positions the field image on the top of the verification window
On Bottom | Positions the field image on the bottom of the verification window
Image Scale | Allows selecting a suitable field image scale
Show Field Image | Shows the image of the character
Toolbar | Shows/hides the toolbars
Info Bar | Shows/hides the info bar
Status Bar | Shows/ hides the status bar
Character Size | Allows selecting the suitable character size
Full Screen | Switches to full screen mode
Tools
Menu | Description
Options… | Allows setting up the area adjacent to the character
Help
Menu | Description
Help Topics | Opens the help file of ABBYY FlexiCapture 10
About ABBYY FlexiCapture | Opens the About ABBYY FlexiCapture 10 dialog box with brief information about the program.


The Group Verifier Window Toolbars

The standard toolbar

Tool | Button | Description
Previous Page |  | Goes to the previous page, if all characters don't fit in one screen
Next Page |  | Goes to the next page, if all characters don't fit in one screen
Confirm All |  | Confirms correct recognition of all characters and goes to the next stage
Change Character State |  | Changes character state to rejected and back
Undo |  | Cancels the last action
Redo |  | Restores the canceled action
Queues and tasks (this toolbar is only accessible on the Data Verification Station)

Tool | Button | Desription
Get Task |  | Opens the data verification task
Reject Task |  | Rejects the task. It will be then sent to another operator
Refresh |  | Refreshes information about the tasks
Automatic Task Receive |  | Enables automatic task receive mode


The Field Verifier Window

The field verification window appears after group verification finishes.

This window is used to visually verify uncertainly recognized characters in the context of the whole field. See Field Verification.

The Field Verifier Window Menu
The Field Verifier Window Toolbars


Field Verification Window Menu

Queues and tasks (this menu is available at the Data Verification Station only)
Menu | Description
Get Task | Gets a new data verification task
Send Task to Exception… | Sends the current task to Exceptions
Reject Task | Rejects the current task (it will be returned to the Operator at a certain moment)
Refresh | Refreshes information about the tasks
Verification
Menu | Description
Confirm Field | Confirms the field
Postpone | Postpones field verification
Next Uncertain Character | Goes to the next uncertainly recognized character
Previous Uncertain Character | Goes to the previous uncertainly recognized character
Next Field | Goes to the next field
Previous Field | Goes to the previous field
Close | Closes the verification window
Edit
Menu | Description
Undo | Cancels the last action
Redo | Restores the canceled action
Cut | Cuts the selected objects
Copy | Copies the selected objects to Clipboard
Paste | Pastes the copied object from Clipboard
Delete | Deletes the selected objects
Delete All | Deletes all objects
Select All | Selects all objects
Insert Line Break | Inserts a line break
Merge Characters | Merges the selected characters if a character was split into multiple characters during recognition
View
Menu | Description
Field Data |
Recognized Text | Shows/hides the recognized text
Character Images Cutting | Switches to field view with character image cutting
Show Special Characters | Shows/hides special characters
Field Image |
Show Field Image | Shows/hides the image of the field with the current character
On Top | Positions the field image on the top of the verification window
On Bottom | Positions the field image on the bottom of the verification window
Image Scale | Allows selecting a suitable field image scale
Analogous Fields | Shows/hides similar fields in other documents
Show Character Image | Shows the image of the character
Toolbar | Shows/hides the main window toolbars
Info Bar | Shows/hides the info bar
Status Bar | Shows/hides the status bar
Character Size | Allows selecting the suitable character size
Full Screen | Switches to full screen mode
Tools
Menu | Description
Options… | Allows setting up the area adjacent to the character
Help
Menu | Description
Help Topics | Opens the help file of ABBYY FlexiCapture 10
About ABBYY FlexiCapture | Opens the About ABBYY FlexiCapture 10 dialog box with brief information about the program.


The Field Verifier Toolbars

The standard toolbar

Tool | Button | Description
Previous Field |  | Goes to the previous field
Next Field |  | Goes to the next field
Confirm Field/Skip Field |  | Confirms correct recognition of all characters in the field and goes to the next field. If the field value doesn't correspond to the field format, the button name will change to Skip Field. If the field value cannot be corrected, it can either be skipped or postponed.
Postpone Field |  | Postpones verification of the field, if it is impossible to correct it
Previous Uncertain Character |  | Goes to the previous uncertainly recognized character
Next Uncertain Character |  | Goes to the next uncertainly recognized character
Undo |  | Cancels the last action
Redo |  | Restores the canceled action
Queues and tasks (this toolbar is available at the Data Verification Station only)

Tool | Button | Description
Get Task |  | Gets a new data verification task.
Reject Task |  | Rejects the current task (it will be later sent to another Operator by the server).
Refresh |  | Refreshes task information
Automatic Task Receive |  | Enables automatic task receive mode


Script Editor window

The Script Editor allows you to write and edit scripts.

You can select a desired scripting language for your script: VBScript, JScript.Compact, JScript, C#.Net, VisualBasic.Net or JScript.Net.

For editing the script, use the menu commands or buttons on the Script Editor toolbar.

To check the script code:

  • click Check button on the toolbar
  • or select Check Script from the Tools menu
  • or press F9

If you want to add a custom function, then from the drop-down list on the toolbar select an available global module: Rule Global Script Module, Export Global Script Module, Events or NonInteractiveProcessor.

To close the Script Editor select File > Exit or press the Close button in the right upper corner of the window.

For more information about scripts, please refer to the Using script section.


Appendix

Using scripts in ABBYY FlexiCapture 10
Designing machine-readable forms
Hot keys
FormReader 6.5 and FlexiCapture 10 rules compared
Supported recognition languages
Fonts for correct rendering of characters
Supported text types
Supported barcode types
Supported graphic formats
Export file formats
Alphabet used in regular expressions
Patents
Technologies provided by other companies


Using scripts in ABBYY FlexiCapture 10

This section describes how to use scripts for customizing processing stages and the stations interface in ABBYY FlexiCapture 10.

Supported scripting languages

ABBYY FlexiCapture 10 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.

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\10.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.

Read more about the object model


Specifics of scripts written in .Net languages

This section describes specifics of scripts written in .Net languages.

  • Script parameters, passed to other scripts with the keyword "this", are passed to .Net scripts as ordinary parameters. For example, in rules written in .Net languages the context of the rule is passed as a parameter with the name "Context".
  • FlexiCapture 10 supports Microsoft .Net Framework up to version 3.5. So the project must be compiled in Microsoft .Net Framework 3.5 or earlier. The version of .Net Framework can be specified in project settings in Visual Studio.
  • It is possible to add an external assembly that can be used in scripts and global modules. Both standard and compiled user assemblies can be used. All classes of the added assemblies will be available in scripts and global modules. See External Assemblies for details.
  • Once the script is compiled, a compiled script body is stored in the same location where the script is defined. Thus .Net script can occupy more space than other scripts.
  • All FlexiCapture objects are defined as COM-objects, so functioning of .Net scripts can be slowed down when addressing object fields frequently because of managed-unmanaged transitions.
  • FlexiCapture objects do not support multithreading.
  • For debugging .Net scripts, the System.Diagnostics.Debugger.Break method is used. For detailed description of the the method, see the corresponding article at MSDN: http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx.
    For MS Visual Studio 2010, you can attach a debugger to a running process. For details, see the corresponding article at MSDN.
  • ControllerInterop interfaces are stored in the ControllerInterop.dll assembly and belong to the ABBYY.FlexiCapture namespace.
    The ControllerInterop.dll assembly file is located in the root folder of the program.
  • ShellInterop interfaces are stored in the ShellInterop.dll assembly and belong to the ABBYY.FlexiCapture.ClientUI namespace.
    The ShellInterop.dll assembly file is located in the root folder of the program.
  • .Net scripts can access all ABBYY FlexiCapture classes under their own names as classes from the ABBYY.FlexiCapture and ABBYY.FlexiCapture.ClientUI namespaces. For example:

    ABBYY.FlexiCapture.IDocument document = Batch.Documents[i];

    ABBYY.FlexiCapture.ClientUI.IToolbars toolbars = TaskWindow.MainWindow.Toolbars;

  • The "Using" directives can be written in the beginning of the script body together with comments and empty strings. The same syntax as in the programming language is used (using for C#.Net, Import for JScript.Net and Imports for VisualBasic.Net). For example:

    using System.Drawing;

    Image img = Image.FromFile( @"D:\2.png" );

    FCTools.ShowMessage( img.VerticalResolution.ToString(), false );

    The "Using" directives can also be used in global modules, for example:

    using ABBYY.FlexiCapture;

    using ABBYY.FlexiCapture.ClientUI;

  • In .Net scripts, functions from all global modules are called directly without using the name of the global module.
  • If you do not want to specify the value of an optional parameter of the function (for functions with optional parameters), you must pass System.Type.Missing instead.

Note: For scripts, that are executed noninteractively (that is by FlexiEx.exe process instead of FlexiCapture.exe), the Debug button is not displayed for the FlexiEx.exe process in the "Checking for solution" window by default (for scripts, that contain a breakpoint). For the button to be displayed, click on the Action Center icon on your taskbar and select Change Action Center settings > Problem reporting settings > Never check for solutions.


External assemblies

It is possible to use external assemblies in scripts and global modules. Both standard and compiled user assemblies can be used.

Adding external assemblies

An assembly can be added on the .Net References tab of the batch type properties, the project properties or the Document Definition properties. All classes of the added assemblies will be available in scripts and global modules. Below is a sample code of the user assembly that contains a namespace, a class and a method of this class:

namespace TestNameSpace

{

public class Test

{

public void Show(string text)

{

// will show text by standard FlexiCapture means – static method void ShowMessage(string text, bool IsError) from static class FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false);

}

}

}

For classes and methods of an added assembly to be accessible to the event handler scripts, it must be added on the .Net References tab of the batch type properties (for a particular batch type) or project properties (for the Unknown batch type).

For the following scripts, external assemblies are added on the .Net References tab of the Document Definition properties:

  • script rule
  • autocorrection script
  • export script
  • user script
  • document assembly script
  • custom recognition script

To add an assembly, click Add…. In the dialog box that opens select the type: Standard assembly name or Attached file. Depending on the selected type either enter the standard assembly name or browse to an assembly file.

The script using classes and methods from the external assembly must contain the following code:

TestNameSpace.Test test = new TestNameSpace.Test(); // creates an object of Test class

test.Show(“hello world”); // calls void Show() method from Test class

Debugging external assemblies

When debugging external assemblies, both the assembly file and a .pdb-file with symbolic information are required. Only assemblies with loaded .pbd files can be debugged. As pbd-files are rather large, it is better to disable loading symbolic information in the working project.

Registry keys that control the loading of symbolic information

You can use the following registry keys to specify whether .pdb-files should be loaded:

  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\10.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath] - specifies whether to load pdb-files from the original folders of the assembly files (set the key value to "true" to load .pdb-files);
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\10.0\Controller\ScriptSupport\ [PDBSearchLocations] = <path to the folder with PDB-files> - sets the search paths for .pbd-files (paths must be listed separated by semicolons; the search result is a .pdb-file with symbolic information whose name coincides with an assembly name).

These keys are not created in the registry by default. If required, the administrator may add these keys into the registry of the user's operating system.

For the changes in the registry to take effect, you need to restart the program.

For debugging an assembly, connection to managed code must be used.


Object model

Specifics of the used object model are described below.

Working with collections

All collections in the object model support the following methods:

Name | Type | Access | Description
Count | int | Read only | The number of items in the collection
Item( index : int ) ItemInterface Read only Retrieves an item of the collection with the given index.
Enumeration begins with "0".

Note: Instead of using the method Item you can also address items of the collection using parentheses or square brackets depending on the selected language. In JScript, VBScript and Visual Basic.Net languages, parentheses are used. In C#.Net it is only possible to use square brackets. In JScript.Net both parentheses and square brackets can be used.

For example, Items( 1 ).Text = "Hello" or Items[ 1 ].Text = "Hello".

All collections can be used in "for each" and similar constructs.

Working with recurring fields and tables

All document fields except tables can be recurring.

In the document structure recurring fields are represented with a special prototype field which has a nonempty Items collection.

A prototype field has neither child items nor value. It is used only for storing the set of the field iterations. Child fields and/or field values can be attributes of the field instances only, which are available through the Items method of the IField object.

Tables always have the Rows collection (Rows is the synonym of Items). The Rows collection contains only those rows of the table whose cells can be accessed through the method Children of the rows.

Composing paths to fields

Field, HasField and IndexedItemValue methods of the IDocument object use paths to the fields on the form as their parameters. The formal way to represent the path with a BNF (Backus-Naur Form) is as follows:

<Path> ::= <Path_component> | <Path> "\" <Path_component>

<Path_component> ::= <Field_name> | <Field_name> "["<Field_iteration_number>"]"

Where Field_name indicates the names of the document fields as they are defined in Document Definition and Field_iteration_number is the iteration number of the recurring field (the row number for tables) beginning from "0".

The path can be full or relative. Full paths are constructed beginning with the name of the document section, while relative paths are constructed beginning with the name of the child item in the group.

For example, to address the third row of the column "Total" in the table "Table", which is located in the section "Section" you should write the following:

"Section\Table[2]\Total"

Such a full name can be constructed by means of the FullName method of the IField object.


Scripts for customizing processing stages

This section describes how to use scripts to create custom rules, to run an export, and to create event handlers in ABBYY FlexiCapture 10.

Types of scripts
Objects
Sample scripts


Types of scripts

In FlexiCapture 10 you can create scripts of the following types:

Script rule
Autocorrection script
Export script
User script (custom action)
Document assembly script
Custom recognition script
Stage rule
Processing scripts
Event handlers

To view sample scripts of the above types, please refer to the Sample scripts section.


Script rule

Rules based on scripts enable you to create complex custom algorithms for document validation and normalization.

The script rule is configured on the Rules tab of the Document Definition properties.

Parameters

Name | Type | Access | Description
Context | IRuleContext | According to the rule settings | The context of the rule

Procedures that you wish to use in more than one rule should be written to the global rule module, which can be accessed from the script editor. From the drop-down list on the toolbar of the script editor, select Rule Global Script Module. The global rule module can also be accessed from the Document Definition editor (Document Definition>Script Modules>Rule Script…).

If classes and methods of an external assembly are used in the script or global module, the assembly file must be attached on the .Net References tab of the Document Definition properties.

See also A rule set with the help of a script.


Autocorrection script

This script allows you to convert field values and run context-independent format checks.

The script is configured on the Data Type tab of the field properties dialog box.

Parameters

Name | Type | Access | Description
Value | IValue | Read/write | Field value

Note: If the Apply AutoCorrect only once after recognition option is selected, a format error message specified in IValue.ErrorMessage is not displayed because such errors can not be fixed.
Unless this option is selected, the script can run several times even within a stage.

Note: The script is launched when confirming a field in the Data Verification station. When confirming a field in the Web Data Verification station, the script is not launched.

If classes and methods of an external assembly are used in the script, the assembly file must be attached on the .Net References tab of the Document Definition properties.

See also Processing entered values.


Export script

This script allows you to customize export.

The script rule is configured on the Export Destinations tab of the Document Definition properties.

Parameters

Name | Type | Access | Description
Document | IDocument | Read only | The document to be exported
Processing | IProcessingCallback | Read only | The object for logging the information about processing

Note: Information on export results must be written to the Document.Action field.

Procedures that you wish to use in more than one export script be written to the global export module, which can be accessed from the script editor. From the drop-down list on the toolbar of the script editor, select Export Global Script Module. The global export module can also be accessed from the Document Definition editor (Document Definition>Script Modules>Export Script…).

If classes and methods of an external assembly are used in the script or global module, the assembly file must be attached on the .Net References tab of the Document Definition properties.

For details on configuring export script, see Export described with a script.


User script (custom action)

This is a custom scripting rule triggered by the user when viewing a field during field verification or in the document editor.

The script is configured on the Custom Action tab of the field properties dialog box.

Parameters

Name | Type | Access | Description
Context | IRuleContext | According to the rule settings | The context of the rule

If classes and methods of an external assembly are used in the script, the assembly file must be attached on the .Net References tab of the Document Definition properties.

See also User Script.


Document assembly script

This script is used to determine whether the array of documents passed to the user can be merged into one document.

For this, assembly errors for the result document are generated. The condition of a successful assembly is as follows: two documents will be merged into one, if the result document contains no more assembly errors than any of the source documents.

The script is configured on the Assembly tab of the Document Definition properties. To open the script editor window, click the Edit Assembling Script… button under the Use custom assembling rules option.

This script is executed either automatically after recognition or it can be run manually to refresh the assembly (for this, select Tools > Refresh Assembly command).
In the first case the script will contain a number of assembly errors generated during the standard check.

Parameters

Name | Type | Access | Description
Documents | IDocuments | Read only | A set of documents whose pages are combined
AssemblingErrors | IAssemblingErrors | Full control | Resultant assembly errors

Note: For better optimization of the assembly process, it is recommended to avoid addressing documents internal data (data unavailable from scripts that can access only titles of documents and pages). When addressing documents internal data, the whole document is loaded which can cause a slowdown of the assembly process. If you need to address the document fields, it is preferable to use index fields when possible.

Note: The AssemblingErrors parameter of the script can contain different assembly errors depending on the way of getting this parameter:

  1. AssemblingErrors can be passed to the script as one of input parameters. In this case it will contain the error of the current check.
  2. One of input parameters of the script is a collection of documents for which the assembly script is launched. Each document has its own assembly errors, which can be retrived the following way: document.AssemblingErrors. In this case the AssemblingErrors parameter will contain errors of the last check carried out for the given document.

Procedures that you wish to use in more than one rule should be written to the global rule module, which can be accessed from the script editor. From the drop-down list on the toolbar of the script editor, select Rule Global Script Module. The global rule module can also be accessed from the Document Definition editor (Document Definition>Script Modules>Rule Script…).

If classes and methods of an external assembly are used in the script or global module, the assembly file must be attached on the .Net References tab of the Document Definition properties.

See also Creating Document Definitions for multipage documents.


Custom recognition script

With this script you can define a custom recognition (or initialization) algorithm for fields which have regions.

The custom recognition script is configured on the Recognition tab of the field properties dialog box.

The script is launched when a field value is initialized from the results of the recognizer. The image area being recognized is passed to the script as an input parameter. The document layout is not initialized at the moment, so access to the document fields is denied (however access to registration and other parameters is allowed).

Parameters

Name | Type | Access | Description
Result IValue / ICheckmarkValue / ICheckmarkGroupValue Full control.
Access to the CharacterParams.NeedVerification flag is denied.
CharacterParams.IsSuspicious flag is available with read/write permissions. 		The resultant recognized value. Depending on the field type the received parameters can be of the following types:
  • IValue - for text fields
  • ICheckmarkValue - for checkmarks
  • ICheckmarkGroupValue - for checkmark groups
FieldRegion | IFieldRegion | Read only and only to titles of documents and pages (applies to all parents as well) | The region to be recognized

If classes and methods of an external assembly are used in the script, the assembly file must be attached on the .Net References tab of the Document Definition properties.

See also Text field recognition options.


Stage rule

This script is used to determine whether the document can be routed to a certain stage. Applies in rule settins in the Advanced mode of the Workflow setup.

If an error occurs during the script execution, the document will be sent to the Exceptions stage.

Parameters

Name | Type | Access | Description
Document | IDocument | Read only | The document for which the check is carried out
Result | IRoutingRuleResult | Read/write | The result of the rule execution

Procedures that you wish to use in more than one rule should be written to the global rule module, which can be accessed from the script editor. From the drop-down list on the toolbar of the script editor, select NonInteractiveProcessor.

If classes and methods of an external assembly are used in the script or global module, the assembly file must be attached on the .Net References tab of the batch type properties (for a particular batch type) or project properties (for the Unknown batch type).


Processing scripts

Document and batch processing scripts allow you to change the document or batch structure respectively, specify a custom order of sections in the document or order of documents in the batch. Processing scripts can be added when creating a custom stage in the in the Advanced mode of the Workflow setup.

Both scripts are used to process multiple documents and have the possibility to log the processing progress.

Document processing script

All documents to be processed are passed to this script in turn.

Parameters

Name | Type | Access | Description
Document | IDocument | Full control | The document to be processed
Processing | IProcessingCallback | Full control | The object for logging the information about processing

Note: If the task is cancelled, the processing status will change to false (similar to using the method IProcessingCallback.ReportError).

Batch processing script

The input parameters of the script are a batch and a set of documents in it to be processed. The iteration over documents is implemented by the user.

The advantage of the batch processing script is that the methods, which can change the batch structure, are available in it. These methods make it possible to move or delete documents and pages.

Parameters

Name | Type | Access | Description
Batch | IBatch | Read only and only to titles of batch documents and pages | The batch
Documents | IDocuments | Full control. For these documents the batch structure can be modified. | Documents to be processed
Processing | IProcessingCallback | Full control | The object for logging the information about processing


Event handlers

In FlexiCapture 10 you can create event handlers for batch, document and field events.

Event handlers are stored in the batch type. They are configured on the Event Handlers tab of batch type properties (for a particular batch type) or project properties (for the Unknown batch type).

Procedures that you wish to use in more than one event handler should be written to the global rule module, which can be accessed from the script editor. From the drop-down list on the toolbar of the script editor, select Events.

If classes and methods of an external assembly are used in the script or global module, the assembly file must be attached on the .Net References tab of the batch type properties (for a particular batch type) or project properties (for the Unknown batch type).

Batch events
After batch created
Before batch delete
Before batch parameter change
After page added
Before page delete
After document created
Before document delete
Before pages move
After batch opened
Before batch close
Batch integrity check
Document events
Before document parameter change
After document state changed
After export completed
Before matching
Field events
Field verification request


Batch created

What is does

The handler of this event is used when you need to do some manipulations on the batch, e.g., to save data to the batch registration parameters.

When it is launched

The script is launched upon adding a batch to the project.

Parameters

Name | Type | Access | Description
Batch | IBatch | Only titles of batch documents and pages are available. Access to the titles is read-only. | A newly added batch


Batch deleted

What is does

The handler of this event is used if you need to clear some data relating to the batch.

When it is launched

The script is launched prior to deleting the batch.

Note: Deleting a batch does not initiate the event of deleting batch documents and pages.

Parameters

Name | Type | Access | Description
Batch | IBatch | Only titles of batch documents and pages are available. Access to titles of the document is read-only. | The batch being deleted


Batch parameter change

What is does

The handler of this event can be used for formatting some of the batch properties.

Properties

  • Batch type (name of the batch type)
  • Batch name
  • Batch description
  • Value of the registration parameter
  • Batch priority (in form of a string). For the list of admissible values, see the description of the TProcessingPriority object.

When it is launched

The script is launched prior to changing a batch property.

Note: This script does not allow specifying a new value of the batch type.

Parameters

Name | Type | Access | Description
Batch | IBatch | Only titles of batch documents and pages are available. Access to the titles is read only. | The batch whose property is being changed
PropertyModification | IPropertyModificationInfo | Full control | Stores information on the property being changed. Allows substituting the set value.


Batch structure change (page added/page deleted/document added/document deleted)

What is does

The handler of this event can be used if you need to do some manipulations on the batch, the document or the page depending on a new image. For example, to count the number of pages added to the batch to ensure that no pages are missing.

When it is launched

The script is launched upon adding pages (or documents) or prior to deleting them.

Note: Deleting a document does not initiate the event of deleting document pages.

Parameters

Name | Type | Access | Description
Batch | IBatch | Only titles of batch documents and pages are available | The batch being manipulated
Document (or Page) | IDocument (or IPage) | Titles of the changed document (or page) can be modified. Access to the deleted document (or page) and other documents and pages of the batch is read-only. | The item being deleted (or added).


Pages moved

Note: Pages can be moved during the document assembly as well.

What is does

The handler of this event can be used if you need to do some manipulation on the new document based on the source documents, for example, to save the merged registration parameters.

If one document is fully embedded into another one, then in the Pages array its pages will go in succession and in the same order as they go in the target document.

Note: After merging pages the layout of the target document can change.

When it is launched

The script is launched prior to moving pages from one document to another.

Parameters

Name | Type | Access | Description
Batch | IBatch | Only titles of batch documents and pages are available | The batch
TargetDocument | IDocument | Full control | The target document pages are moved into
InsertionPosition | int | Read only | The position in the document where pages are inserted
Pages | IPages | Read only | The array of pages being moved


Batch opened/closed

When it is launched

The script is launched upon opening or prior to closing the batch.

Parameters

Name | Type | Access | Description
Batch | IBatch | Access to batch fields is read-only and only to titles of batch documents and pages. Access to titles of the document is read-only. | The batch


Batch integrity check

What is does

Checks the batch structure. For example, you can check whether the batch contains obligatory documents or whether the number of documents specified on the control page coincides with the number of documents actually processed.

When it is launched

The script is launched prior to export (if the corresponding option is sellected in workflow settings) or by an explicit user command.

Parameters

Name | Type | Access | Description
CheckResults | IBatchCheckResults | Read only and only to titles of batch documents and pages | The object that provides access to the batch being checked. Also used to set the check results.


Document parameter changed

What is does

The handler of this event can be used for formatting some of document properties.

Document properties

  • Comment
  • Value of the registration parameter
  • ExternalID
  • Document priority (specified in form of a string). For the list of admissible values, see the description of the TProcessingPriority object.

When it is launched

The script is launched prior to changing a document property.

Parameters

Name | Type | Access | Description
Document | IDocument | Only to titles of documents and pages are available | The document
PropertyModification | IPropertyModificationInfo | Full control | Stores information on the property being changed


Document state changed

What is does

At any moment the document state can be described with an array of flags. The event occurs every time when the state changes. A set of flags describing changes in the document state are passed to the event as input parameters.

Flags that determine the document state

  • Preprocessed
  • Analyzed
  • Recognized
  • HasErrors
  • Assembled
  • Verified
  • Exported
  • HasLayout

When it is launched

The script is launched on document export provided the document state has changed since it was read.

Parameters

Name | Type | Access | Description
Document | IDocument | Full control | The document
ChangedStates | IScriptBinaryAttributes<TStateType> | Read only | Stores information about changes in the document state


Export completed

Export results are passed to this script as input parameters.

When it launched

The script is launched after the export task is completed. If the Process whole batches option is selected for the Export stage, the task will contain all documents of the batch. If the option is deselected, the number of documents in the task can vary from one document to all documents of the batch. The script is launched irrespective of the export result (whether it succeeded or failed). This is the main difference of this script from the event "Document state changed".

If some export targets are omitted (as the document has been exported to those targets earlier), then for the corresponding export results, the value of the Applied flag will be false.

Parameters

Name | Type | Access | Description
ExportResults | IDocumentsExportResults | Read only and only to titles of batch documents and pages | Export results for all documents and all export targets
Processing | IProcesingCallback | Full control | The object for logging the information about processing


Before matching

What is does

The handler of this event allows you to control what sections or Document Definitions will be matched on each subsequent page and specify the matching order.

With the help of this script you can disable recognition of document after a Document Definition is matched. For this, set the IMatchingInfo.NeedRecognition parameter to false. It can be useful if field values are supposed to be entered manually.

It is also possible to mark the page as an annex page which does not need recognizing. For this, it is necessary to specify an empty list of sections and set the IMatchingInfo.ForceMatch parameter to true.

When it is launched

The script is launched prior to matching sections on each subsequent page.

Parameters

Name | Type | Access | Description
Document | IDocument | Read only and only to titles of batch documents and pages | The document whose pages are being analyzed
PageIndex | int | Read only and only to titles of batch documents and pages | The index of the document page to be analyzed
Matching | IMatchingInfo | Full control | The object that specifies some of the matching parameters


Field verification request

What is does

This script allows you to specify which fields will not be submitted to the context verification. Can be used to verify different fields at different processing stages.

The input parameters for the script are a field and a document.

When it is launched

The script is triggered for all fields before they are submitted to the context verification. For the fields which skip the context verification, the script is not executed.

Parameters

Name | Type | Access | Description
Field | IField | Read only | The field being checked
Document | IDocument | Read only | The document that contains the field
NeedVerification | IBoxedBoolean | Full control | Specifies whether to verify the field. If the value is set to "false", the field is not verified.


Objects

This section contains the description of objects used in scripts, their properties and methods.

Note: Some methods extend the functionality of methods available in the previous version. However, the old methods have been retained to ensure backward compatibility.
Names of such methods begin with the word [Obsolete] in square brackets.

IActionResult
IAssemblingError
IAssemblingErrors
IBatch
IBatchCheckResults
IBoxedBooleanValue
ICharacterParams
ICharactersParams
ICheckmarkGroupValue
ICheckmarkValue
IDocument
IDocumentDefinitionInfo
IDocumentExportResults
IDocuments
IDocumentsExportResults
IEditablePictureObject
IExportImageSavingOptions
IField
IFieldRegion
IFieldRegions
IFields
IFlexiCaptureTools
IMatchedSectionInfo
IMatchingInfo
IPage
IPageClassificationResult
IPages
IPictureObject
IPrincipal
IPrincipals
IProcessingCallback
IProject
IProperties
IProperty
IPropertyModificationInfo
IRect
IRects
IRoutingRuleResult
IRuleContext
IRuleError
IRuleErrors
IScriptBinaryAttributes
IStageInfo
IUserAttachment
IUserAttachments
IValue
IVARIANTArray
TAssemlingErrorType
TExportFieldType
TExportType
TPageClassificationType
TPrincipalType
TProcessingPriority
TPropertyType
TRuleErrorType
TStateType


IActionResult

What it does

A special object that is used to describe whether the export (or a post-export event) of a particular document succeded.

Properties

Name | Type | Access | Description
Succeeded | bool | Read/write, Mutable (can be modified even in scripts with read-only permissions) | Specifies whether the operation succeeded
ErrorMessage | string | Read/write, Mutable (can be modified even in scripts with read-only permissions) | An error message
Result | string | Read/write, Mutable (can be modified even in scripts with read-only permissions) | Formal description of the operation result. In the event of export, a description of the path where the document was exported (for example, a path to the file).
Name | string | Read only | The name of the export profile
Type | TExportType | Read only | The type of export profile (applies in Export completed script)
Applied bool Read only Specifies whether the document has been exported to the target during the current export session. For the false value of the flag:
  • if the Succeeded flag value is true, it means that the document has exported to the target earlier;
  • if the Succeeded flag value is false, it means that the document is not suitable for export to this target (e.g. because of errors).


IAssemblingError

What is does

Represents a document assembly error.

Properties

Name | Type | Access | Description
Type | TAssemblingErrorType | Read only | The type of assembling error
Description | string | Read only | The description
SectionName | string | Read only | The name of a missing section (in case of the AET_ObligatoryItemOmitted error). For annex pages, the section name is empty.
Position | int | Read only | The position in the document
Weight | string | Read only | The weight of the error


IAssemblingErrors

What it does

A collection of IAssemblingError objects.

Can be modified in the document assembly script only.

Methods

Definition | Description
AddSectionOmittedError( int position, sectionName : string, [optional] description ) | Adds an error concerning a missing section.
AddRedundantPageError( int position, [optional] description ) | Adds an error concerning an extra page.
AddCustomError( descriotion : string, [optional] weight : int ) | Adds a custom assembling error.

Important! The AddCustomError method should be used with caution and only if there are no other suitable methods. As document assembly is fully determined by the number of errors, the error weight must be set correctly when adding such errors. And setting the weight correctly can cause difficulties.

It is recommended not to combine several standard errors in one CustomError that will produce one common error message.


IBatch

What it does

Represents the batch.

Methods

Important! For methods below permissions for changing batch structure are required. These methods can be called only from the batch processing script.

Definition | Description
MovePage( source : IDocument, target : IDocument, sourcePageIndex : int, int targetPageIndex : int ) | Moves the page with the index "sourcePageIndex" from the document "source" to the document "target" to the position "targetPageIndex".
MoveDocument( source : IDocument, targetPosition : int ) | Moves the document to a specified position in the batch.
CreateDocumentFromPage( targetPosition : int, page : IPage ): IDocument | Retrieves a page from the document to create a new document from it.
DeleteDocument( document : IDocument ) | Deletes the document.
DeletePage( page : IPage ) | Deletes the page.
CreatePageFromImage( page : IPictureObject, [optional] target : IDocument, [optional] position : int, [optional] sourceInfo : string ) : IPage | Creates a page from the IPictureObject object and returns the created page. If a target document is specified, the page is added to this document. To create a one-page document, specify "null" as a target document. If a position is specified, the page is added to the specified position of the document. Otherwise a one-page document is added to the specified position of the batch. The initial position corresponds to the "0" value, the end of the document or batch corresponds to "-1". If the "sourceInfo" parameter is specified it is written to the information of the page source. Otherwise, information about the page source is received from IPictureObject.
CleanRecognitionResults( document : IDocument ) | Cleans recognition results of the document.
[Obsolete] RegistrationProperty( name : string ) : string | Retrieves a registration parameter by the name. Retained for backward compatibility.

Properties

Name | Type | Access | Description
BatchTypeName | string | Read only | The name of the batch type
Documents | IDocuments | Read only | Documents the batch consists of
Id | int | Read only | The batch identifier. The parameter is unique within the batch.
Name | string | Read/write | The name of the batch
Properties | IProperties | Read only | Named parameters of the batch
Comment | string | Read/write | The comment
Project | IProject | Read only | The project containing the batch
Priority | TProcessingPriority | Read/write | The priority of the batch
Attachments | IUserAttachments | Read only | User attachments
[Obsolete] RegistrationProperties | IProperties | Read/write | Registration parameters of the batch. Retained for backward compatibility.


IBatchCheckResults

What it does

Represents the context of the "batch integrity check".

Properties

Name | Type | Access | Description
Batch | IBatch | Read only | The batch
CheckSucceeded | bool | Read/write, Mutable (can be modified even in scripts with read-only permissions) | Specifies whether the check succeeded
ErrorMessage | string | Read/write, Mutable (can be modified even in scripts with read-only permissions) | The error message


IBoxedBoolean

What it does

Passes in-out boolean values to scripts.

Properties

Name | Type | Access | Description
Value | bool | Read/write | The value


ICharacterParams

What it does

Stores information about the symbol properties.

Methods

Definition | Description
SetRect( newRect : string, [optional] pageId : int ) | Sets a new rectangle of the character. The newRect parameter must be passed in the form of the string "[left, top, right, bottom]". The set rectangle must be fully inside the region of the field that contains the symbol. Note: The method is not available in autocorrection script.

Properties

Name | Type | Access | Description
Symbol | string | Read/write | A symbol (a string consisting of one symbol).
IsSuspicious | bool | Read/write | Specifies whether the symbol is certainly recognized. This flag is effective only in the custom recognition script.
NeedVerification | bool | Read/write | Specifies whether an additional verification is required for the symbol. The value of this flag determines whether the symbol will be highlighted.
Rect | IRect | Read only | A rectangle that contains the symbol. If the rectangle is not specified, null is returned.
PageId | int | Read only | Identifies the page on which the rectangle of the symbol is located. Required for multi-page fields.
Confidence | int | Read only | The confidence level of a recognized symbol. The parameter is kept only if the option "Store the confidence level in the batch type" is selected. The value varies from 0 to 55.


ICharactersParams

What it does

An array of ICharacterParams objects.

Methods

Definition | Description
Add( value : Object, [optional] position : int ) | Inserts a new value element into the text in the specified position. If the position is not set, the value is added to the end of text. Note: The value parameter can be a character, a string, an ICharacterParams object or an ICharactersParams object. Thus characters or text can be copied from other fields with preserved layout and highlighting. If characters regions are larger than the region of a new field, they are not copied.


ICheckmarkGroupValue

What it does

A collection of ICheckmarkValue objects.


ICheckmarkValue

What it does

Represents a checkmark value.

Properties

Name | Type | Access | Description
Name | string | Read only | Checkmark name (field name in the Document Definition)
Value | bool | Read/write | Checkmark value
IsSuspicious | bool | Read/write | Whether a checkmark value is certainly recognized
Rect | IRect | Read only | A rectangle of the checkmark


IDocument

What it does

Represents the document.

Methods

Definition | Description
Field( name : string ) : IField Gets access to a document field by the full path to the field. Full paths are used.
Not available from scripts that cannot access inner data of documents and pages but only their titles.
Cannot be used in rules.
HasField( name : string ) : bool Checks whether a field with the specified path exists. Relative paths are used.
Not available from scripts that cannot access inner data of documents and pages but only their titles.
Cannot be used in rules.
SaveAs( filename : string, [optional] options : IExportImageSavingOptions ) Saves document image. If options are not specified, by default the image is saved as *.tif.
Not available from scripts that cannot access inner data of documents and pages but only their titles.
Cannot apply when saving to formats which do not support multipage files, e.g. JPEG. For such formats, the IPage.SaveAs method should be used.
IndexedItemValues( name : string ) : IVARIANTArray | Retrieves a set of index values corresponding to a field in the Document Definition by the name or the path to the field. If a field is marked as an index field in the recurring section, the method returns all values of the field from all sections. Available from titles of documents and pages. Both a field name and a full path to the field can be used. Cannot be used in rules.
IndexedItemValue( name : string ) : VARIANT | Retrieves the field value by the name or the path to the field. Available from titles of documents and pages. Both a field name and a full path to the field can be used. Cannot be used in rules.
CheckRules( ) | Checks all rules in the document. Write permissions for the document are required.
Property( name : string ) : VARIANT Retrieves the value of a specified property by its name. The returned value can be in the form of a string, a number or time.

Properties names and returned values:
  • Exported - when the document was exported
  • ExportedBy - who exported the document
  • Created - when the document was created
  • CreatedBy - who created the document
  • Recognized - when the document was recognized
  • RecognizedBy - who recognized the document
  • Modified - when the document was modified last
  • ModifiedBy - who modified the document
  • TotalSymbolsCount - the total number of symbols
  • UncertainSymbolsCount - the total number of uncertain symbols
  • RecognizedSymbolsCount - the number of recognized symbols
  • Comment - the comment on the document
  • ProcessingErrors - document processing errors
  • ProcessingWarnings - document processing warnings

Important! The Property method should not be confused with the Properties collection which contains document properties specified by the user.

Properties

Name | Type | Access | Description
Pages | IPages | Read only | Document pages.
Children | IFields | Read only | Child fields (document sections). Unlike the method Sections, section order corresponds to their order in Document Definition. Recurring sections are represented as one item and the instances are available through the Items method of that item. Not available from scripts that cannot access inner data of documents and pages but only their titles.
Sections | IFields | Read only | A flat list of document sections. If there is a recurring section, the list contains all replications of the section. Sections in the list go in the same order as the first pages of the document sections. Sections without pages close the list. Not available from scripts that cannot access inner data of documents and pages but only their titles.
IsAssembled | bool | Read only | Specifies whether the document is assembled.
IsVerified | bool | Read only | Specifies whether the document is verified.
IsExported | bool | Read only | Specifies whether the document is exported.
IsAnalyzed | bool | Read only | Specifies whether the document is analyzed. The document is considered analyzed if all pages of the document are analyzed.
IsRecognized | bool | Read only | Specifies whether the document is recognized. The document is considered recognized if each page of the document is either recognized or this is an annex page.
HasUnpreparedImages | bool | Read only | Specifies whether the document contains un-preprocessed pages.
DefinitionName | string | Read only | The name of the Document Definition.
ProcessingErrors | string | Read only | Processing errors divided by line breaks.
ProcessingWarnings | string | Read only | Processing warnings divided by line breaks.
TotalSymbolsCount | int | Read only | The total number of symbols.
RecognizedSymbolsCount | int | Read only | The number of recognized symbols.
UncertainSymbolsCount | int | Read only | The number of uncertain symbols.
SymbolsForVerificationCount | int | Read only | The number of symbols that need verification.
Id | string | Read only | Document identifier (External Id).
BatchName | string | Read only | The batch name.
Batch | IBatch | Read only | The batch. Irrespective of permissions of the script for the document, access to the batch is read-only and only titles of documents and pages are available.
Properties | IProperties | Read only | Registration parameters of the document.
Action | IActionResult | Read only | Is effective in export and post export scripts only.
AssemblingErrors | IAssemblingErrors | Read only | A collection of assembly errors. Access to the collection is always read-only.
IsExcludedFromAutomaticAssembling | bool | Read/write | Checks if the document is included into automatic assembly.
Comment | string | Read/write | A comment of the document.
HasErrors | bool | Read only | Specifies whether the document has rule or format errors.
HasWarnings | bool | Read only | Specifies whether the document has rule or format warnings.
StageInfo | IStageInfo | Read only | Information about the processing stage on the application server.
Index | int | Read only | The index of the document in the batch.
Priority | TProcessingPriority | Read only | A priority of the document.
DocumentDefinition | IDocumentDefinitionInfo | Read only | Detailed information about the Document Definition which is matched on the document. For unprocessed and unrecognized documents, the property returns an empty string.
RuleErrors | IRuleErrors | Read only | A collection of document errors (format errors, rule errors, errors of merging double verification results). Available for open documents only.
Attachments | IUserAttachments | Read only | User attachments
[Obsolete]TemplateName | string | Read only | The name of the Document Definition. Retained for backward compatibility.
[Obsolete]RegistrationProperty( name : string ) | string | Read only | Retrieves a registration parameter by the name. Retained for backward compatibility.
[Obsolete]RegistrationProperties | IProperties | Read only | Registration parameters of the batch. Retained for backward compatibility.


IDocumentDefinitionInfo

What it does

Contains detailed information about the Document Definition matched on the document.

Properties

Name | Type | Access | Description
Name | string | Read only | The name of the Document Definition.
Version | int | Read only | The version of the Document Definition.


IDocumentExportResults

Description

The object represents a set of export results of a document to different targets. This is a collection of the IActionResult objects which contain information about export for particular targets.

Properties

Name | Type | Access | Description
Succeeded | bool | Read only | Specifies whether the document export succeeded.
ErrorMessage | string | Read only | The message that describes why the export failed.
Document | IDocument | Read only | The document exported with the given results


IDocuments

What it does

A collection of IDocument objects.


IDocumentsExportResults

What it does

A collection of IDocumentExportResults objects.

The object represents export results for a set of documents.


IEditablePictureObject

What it does

Represents a picture that can be edited in ABBYY FlexiCapture. The object is the extension of the IPictureObject interface.

Methods

Definition | Description
Rotate( angle : int ) | Rotates the image clockwise to the given angle.
FlipHorizontal() | Flips the image horizontally.
FlipVertical() | Flips the image vertically.
Invert( [optional] rectString : string ) | Inverts the image. You can specify a string with coordinates of the rectangle to be inverted.
ConvertToBW( [optional] threshold : int ) | Converts the image to black-and-white. You can specify brightness threshold. Values above the threshold level will be considered white, those below the threshold level will be considered black. The brightness threshold can range from 0 to 255.
Deskew( [optional] byLines : bool, [optional] byBlackSquares : bool, [optional] byText : bool ) | Deskews the image. Image skew can be corrected based on straight lines, black squares or text. By default, byText parameter is set to true.
Despeckle( [optional] garbageSize : int ) | Removes noise from black-and-white images. Speckles up to the size specified will be removed. If the garbageSize parameter is not specified, the size is detected automatically. Important! The method applies to black-and-white images only.
Erase( rectangle : string, [optional] red : int, [optional] green : int, [optional] blue : int ) | Erases an area on the image. You can specify the color to erase the area with. By default the black color is used.
CutOut( rect : string ) : IEditablePictureObject | Cuts a specified rectangle from the image and returns this rectangle.
Crop( rect : string ) | Crops the image outside the specified rectangle.
Scale( ratio : int ) | Stretches or compresses the image relative to the base size of 100%. The method applies to image pixel size only. Image physical size remains unchanged.
FreeScale( newWidth : int, newHeight : int, newResolution : int ) | Resizes the page according to the new values.

Note: The rect parameter which is passed to the CutOut and Crop methods is a string in the form of «[left, top, right, bottom]». To get this string you can either call the ToString method for any object of the IRect type, or use the FCTools::Rect method.


IExportImageSavingOptions

What it does

Describes picture saving options.

Properties

Name | Type | Access | Description
Format | string | Read/write | Image saving format. Admissible expressions: "tif", "jpg", "bmp", "jpg2000", "pcx", "png", "pdf" plus "-s" (for PDF Searchable) and "-a" (for PDF/A) parameters. Strings are not sensitive to the letter case. Parameters begin with "-". They can be separated with spaces, tabs or no delimiters can be used. For example: "pdf -s", "pdf-a-s".
ColorType | string | Read/write | Color scheme. Admissible values: "FullColor", "GrayScale", "BlackAndWhite". Strings are not sensitive to the letter case.
Resolution | int | Read/write | Image resolution (measured in DPI).
ShouldOverwrite | bool | Read/write | Specifies if the existing file can be overwritten.
Quality | int | Read/write | Image quality for JPEG-compression (in percentage terms).
AddProperFileExt | bool | Read/write | If the value is set to "true", the extension is set according to the image format during image saving. By default, the value is set to "false".
RecognitionLanguages | string | Read/write | The list of languages that can be used for recognition of documents intended for export to searchable PDF. Consists of the internal names of languages in English divided by semicolons without spaces. If the list is empty, the language of the Document Definition applied to the document is used. Is effective for annex pages only, as for pages with matched sections, only recognized fields have a text layer. As such fields are recognized in the recognition stage (not in the export stage), specifying this property does not influence recognition results for these fields.


IField

What it does

A document field. The type of the field can be determined from the property Type. For table fields the Rows and the Cell object methods are available.

Methods

Definition | Description
Suggest( VARIANT newSuggest ) | Adds a prompt to the field.
Field( Path : string) : IField | Search of the child element relative to the given element. Relative paths are used. Only synonyms of field names as they are defined in the rule settings can be used in rules.
HasField( parameter : string) : bool | Checks whether the field with the specified path exists. Relative paths are used. Only synonyms of field names as they are defined in the rule settings can be used in rules.
Cell( columnName : string, rowNum : int ) : IField | Retrieves a table cell by the column name and the row number. Available for tables only. Unavailable in script rules.
CheckRules( ) | Checks rules for the given field and its children. Cannot be used in rules.

Properties

Name | Type | Access | Description
Type | TExportFieldType | Read only | The type of the field.
Name | string | Read only | The field name in Document Definition.
Items | IFields | Read only | Instances of the field (rows for table fields).
Value | VARIANT | Read/write | The field value as the VARIANT type. For picture fields, the returned object is an empty string in rules and IPictureObject in other scripts. Note: For empty fields of the Date and Number types, DBNull is returned. Note: For text fields of the Time type, the returned value contains date and time. To reduce this value to the required format, the ToString( ) method with a desired identifier can be used in .Net languages.
Text | string | Read/write | A text representation of the field value.
Symbols | ICharactersParams | Read only | Detailed information about the symbols properties.
IsVerified | bool | Read/write | Specifies whether the field is verified. Field value can be set to "true" in rules even without "write" permissions for the field. To deselect the flag, "write" permissions are required.
NeedVerification | bool | Read/write | Specifies whether the field itself (not its symbols) needs verification.
IsMatched | bool | Read only | Specifies whether the field is matched.
IsValid | bool | Read only | Specifies whether the field value is valid.
IsSuspicious | bool | Read only | Specifies whether the field value is certainly recognized.
Regions* | IFieldRegions | Read only | An array of field regions. Overflowing fields can have several regions.
ReadOnly | bool | Read only | Specifies whether the field has "read-only" permissions (according to the Document Definition settings). When used in rules, indicates that the rule has "write" permission for the field.
IsExportable | bool | Read only | Specifies whether the field is intended for export (according to the Document Definition settings).
IsIndexed | bool | Read only | Specifies whether the field is indexable. If yes, the field value can be available from document and page titles of the Document Definition.
IsVisible | bool | Read only | Specifies whether the field should be reflected in document layout (according to the Document Definition settings).
HasRuleError | bool | Read/write | Specifies whether a rule warning or error is associated with the field. Note: In script rules this property specifies whether to display the field in the error message (whether the field will have a rule error if the rule check fails). Setting this property to "false" allows you not to display some of the fields in the error message.
Children | IFields | Read only | Child items of the field (cells for tables). Unavailable in script rules.
FullName | string | Read only | A full field name relative to the document. A unique identifier of the field in the document. Can be used for search of document fields through the Field method. In script rules the returned value coincides with Name and is not unique.
Rows | IFields | Read only | A set of table rows. Unavailable for non-table fields.
[Obsolete]IsCertain | bool | Read/write | Specifies whether the field is verified (similar to IsVerified property). The property is retained for backward compatibility.
[Obsolete]SuspiciousSymbols* | string | Read only | A string of "0" and "1" showing what symbols are certainly recognized. The property is retained for backward compatibility.

* - The property is unavailable if the Advanced Xml Export option in the license properties is deselected.


IFieldRegion

What it does

Represents a region of the document field.

Properties

Name | Type | Access | Description
PageIndex | int | Read/write | The number of the page in the document the region is located on
Page | IPage | Read only | The page that contains the region
Rects | IRects | Read only | The array of rectangles the region consists of
SurroundingRect | IRect | Read only | The rectangle that describes the whole region
Picture | IPictureObject | Read only | The picture that corresponds to the region
IsMatched | bool | Read only | Specifies whether the region is matched
Field | IField | Read only | The document field that corresponds to the region. The property value can be "0".

Note: In custom recognition script the value of the Field property is always "0", as the field does not exist at the time of recognition.


IFieldRegions

What it does

A collection of IFieldRegion objects.


IFields

What it does

A collection of IField objects.

Methods

Definition | Description
AddNew( insertAt : int ) | Inserts a new instance of a recurring field. The insertAt parameter specifies the position of the new instance in collection. The method allows you to create strings for a table block without regioon. Cannot be used in script rules. Sample code: Document.Field( "Page 1\\Address" ).Items.AddNew( 0 );
Delete( what : Object ) | Deletes the instance of a field or a table row. The what parameter can be the item to be deleted from the collection or its index. Cannot be used in script rules.


IFlexiCaptureTools

What it does

The IFlexiCaptureTools interface is implemented with a FCTools global object which is available in scripts. All methods of the FCTools global object can be called as static methods, for example:
FCTools.ShowMessage( “Test” );

Methods

Definition | Description
NewImageSavingOptions() : IExportImageSavingOptions | Creates a new object of the IExportImageSavingOptions class.
Rect( left : int, right : int, top : int, bottom : int ) : string | Generates a string in the form of rectangle with specified coordinates.
IsModuleAllowedByLicense( authorId : string, moduleName : string ) : bool | Checks whether the specified module is allowed by the license.
LoadImage( filePath : string, [optional] pageNumber : int ) : IEditablePictureObject | Loads an image from file. The loaded image will be available for editing.
PictureFromHBitmap( bitmap : HBITMAP, [optional] resolution : int ) : IEditablePictureObject | Generates an image from an HBITMAP object with the specified resolution. The generated image will be available for editing. Sample code: System.Drawing.Bitmap bitmap = System.Drawing.Image.FromHbitmap( handle ); <do something> IPictureObject FinalPicture = FCTools.PictureFromHBitmap( bitmap.GetHbitmap().ToInt32(), 300 ); Note: As an HBITMAP object is taken into ownership, calling the CloseHandle method for it after generating the image is not needed.
ShowMessage( text : string, [optional] isError : bool ) | Shows the message to the user. If the isError flag is set to true, the message will be an error, otherwise a notification. If the script is executed within a handling process, the message will be written to the processing log.
ClassifyPage( page : IPage, [optional] callback : IProcessingCallback, [optional] detectClassesWithoutLayout : bool ) : IPageClassificationResult | Classifies the page and in the event of successful classification returns the classification result. Classification result can be a name of the class from a batch type classifier or null. Note: If the value of detectClassesWithoutLayout is true, then classification is based only on classes from a classifier and available Document Definitions are not used for classification. Note: You can either use the IProcessingCallback interface, or implement your own interface.

Note: Unlike a classifier, the ClassifyPage method is used to analyze the page class, but the classification result is not matched. For example, if a classifier does not contain the Banking_eng Document Definition, the ClassifyPage method applied to the page can return a section of this Document Definition.


IMatchedSectionInfo

What it does

Contains detailed information about the Document Definition section which is matched on the page.

Properties

Name | Type | Access | Description
Name | string | Read only | The section name.
IsFlexible | bool | Read only | Specifies whether the section is flexible.
FlexibleInstanceId | int | Read only | Index of a flexible section. A set of pages with the same index of the flexible section forms one document section. The field is effective for flexible sections only. If the value of FlexibleInstanceId is different for two pages on which the same definition of the flexible section is matched, it means that the pages belong to different document sections.
FlexibleInstanceId | int | Read only | The page number in the definition of the fixed section matched on the page. The field is effective for fixed sections only.
DocumentDefinition | IDocumentDefinitionInfo | Read only | Information about the Document Definition the section belongs to.


IMatchingInfo

What it does

Stores parameters of matching document definitions and sections on a page.

Properties

Name | Type | Access | Description
DefinitionsList | string | Read/write | The list of sections and document definitions to be matched on the page divided by semicolon.
ForceMatch | bool | Read/write | Specifies whether to match sections forcedly. The flag can be set to "true" only if no more than one section is set. If the section list is empty and the flag is set to "true", the page will be marked as an annex page which does not need recognizing.
NeedRecognition | bool | Read/write | Specifies whether fields within the section need recognizing. If the flag is set to "false", fields will not be recognized after matching.

Note: Document definitions names and sections names can be specified in the form of <DefinitionName>\<SectionName>. Only existing sections and document definitions can be used.

For example, the first section of the sample Banking_eng is specified as follows: Banking_eng\Page 1.

Note: For the page to be recognized with all sections, do not modify the DefinitionsList property. If the DefinitionsList property is empty and the ForceMatch flag is not set, the page won't be recognized and the error message "No Document Definitions to match" will be logged. If the ForceMatch flag is set to "true", the page will be marked as an annex page.


IPage

What it does

Represents a page.

Methods

Definition | Description
SaveAs( filename : string, [optional] options : IExportImageSavingOptions ) | Saves the page image depending on saving options. If options are not specified, the image is saved as *.tif. Not available from scripts that cannot access inner data of documents and pages but only their titles.
ReplaceImage( newPicture : IPictureObject ) | Replaces the page image with a new one. The new image can be created by editing another IPictureObject object, loaded from file using the FCTools.LoadImage method or created from a bitmap file stored in memory (for example, .NET System.Drawing.Image) using the FCTools.PictureFromHBitmap method.

Properties

Name | Type | Access | Description
Document | IDocument | Read only | The document that contains the page
Index | int | Read only | The page index in the document
ImageSourceType | string | Read only | String "File", "Scanner" or "Custom" depending on the source
ImageSource | string | Read only | A full path to the file (for files) or the source specified in ImageSourceDetails for other sources.
ImageSourcePageNumber | int | Read only | The number of the source page in the file.
ImageSourceFileSubPath | string | Read only | The path of the source image relative to the root of HotFolder or the folder they were imported from.
Rect | IRect | Read only | The rectangle of the page. Not available from scripts that cannot access inner data of documents and pages but only their titles.
ExcludedFromDocumentImage | bool | Read/write, Mutable (can be modified even in scripts with read-only permissions) | Applies during export of the document image. Indicates that the current page image should not be exported when exporting the whole document. Not available from scripts that cannot access inner data of documents and pages but only their titles.
SectionName | string | Read only | The document section name.
Id | string | Read only | The page identifier.
Picture | IPictureObject | Read only | The page image. Not available from scripts that cannot access inner data of documents and pages but only their titles.
IsAnalyzed | bool | Read only | Specified whether the page is analyzed.
MatchedSection | IMatchedSectionInfo | Read only | Detailed information about the section which is matched on the page. If there are no matched sections on the page, the value is null.
Attachments | IUserAttachments | Read only | User attachments
[Obsolete] TemplateName | string | Read only | Document section name (the same as SectionName). The property is retained for backward compatibility.


IPageClassificationResult

What it does

Stores information about results of classification of the page.

Properties

Name | Type | Access | Description
PageType | TPageClassificationType | Read only | The type of the page
MatchedSections | string | Read only | The list of section that can be matched. Contains entries in the form of <Document Definition Name>\<Section Name> divided by semicolon. This unmodified list can be passed to the IMatchingInfo object as the DefinitionsList parameter (IMatchingInfo::DefinitionsList). Note: When passing classification results to the Before matching script, set the IMatchingInfo.ForceMatch flag to false so that pages are not classified repeatedly with a script.


IPages

What it does

A collection of IPage objects.


IPictureObject

What it does

Represents the image of a page or a region.

The object implements the IPicture interface and provides access to some of its properties through the IDispatch interface.

For more details about the IPicture interface, see the corresponding article at MSDN.

Methods

Definition | Description
SaveAs( filename : string, [optional] options : IExportImageSavingOptions ) | Saves the image. If options are not specified, the image is saved as *.tif.
CreateEditableCopy() : IEditablePictureObject | Creates an editable copy of the image.
DetectPageOrientation( [optional] language: string ) : int | Detects page orientation by the text on it. The internal name of the language is passed as the input parameter. If the language is not specified, the language of the current locale is used. Returns the angle (in degrees) to which the page must be rotated. The following values can be returned: 0, 90, 180 and 270.

Properties

Name | Type | Access | Description
Handle | OLE_HANDLE | Read only | The Windows GDI handle of the picture. In .Net this property can be used in System.Drawing.Image.FromHbitmap method to retrieve the picture object.
hPal | OLE_HANDLE | Read/write, Mutable (can be modified even in scripts with read-only permissions) | The Windows handle of the palette used by the picture. This property can be used in System.Drawing.Image.FromHbitmap as a second parameter.
Type | SHORT | Read only | The type of picture.
Width | int | Read only | The width of the picture in dots
Height | int | Read only | The height of the picture in dots
IsBlackWhite | bool | Read only | Whether the picture is black-and-white
XResolution | int | Read only | The horizontal image resolution
YResolution | int | Read only | The vertical image resolution


IPrincipal

What it does

Represents a user or a user group in scripts.

Properties

Name | Type | Access | Description
Name | string | Read only | The name of the user or the group
Id | int | Read only | A unique identifier
Type | TPrincipalType | Read only | The type of principal


IPrincipals

What it does

A general collection of users and user groups (a collection of IPrincipal objects).


IProcessingCallback

What it does

Passes information about the processing progress.

Methods

Definition | Description
ReportMessage( message : string ) | Records an information message to the log.
ReportWarning( warning : string ) | Records a warning message to the log.
ReportError( error : string ) | Records an error message to the log. The operation that contains an error message is considered to have failed.

Properties

Name | Type | Access | Description
ShouldStop | bool | Read only | Checks if the task was cancelled or not (whether the user clicked "Cancel").


IProject

What it does

Represents the project in scripts.

Properties

Name | Type | Access | Description
Name | string | Read only | The name of the project
Principals | IPrincipals | Read only | An array of users or groups
ExportRootPath | string | Read only | Root path for export as it is defined in project settings. Can be an empty string.


IProperties

What it does

A collection of IProperty objects.

Methods

Definition | Description
Get (name : string) : string | Retrieves the property value by the name.
Set (name : string, value : string) | Sets the value of a named property. Creates a property, if it does not exist.
Has (name : string) : bool | Checks whether the set contains the property with the specified name.
Delete (name : string) | Deletes the property with the specified name.


IProperty

What it does

Represents a named property of a document or a batch.

Properties

Name | Type | Access | Description
Name | string | Read only | The property name
Value | string | Read only | The property value


IPropertyModificationInfo

What it does

Stores information about modification of a document (or a batch) property.

A set value can be corrected.

Properties

Name | Type | Access | Description
PropertyType | TPropertyType | Read only | The type of a property being modified
NewValue | string | Read/write | A new value of the property. The script allows to set the value in a different form, e.g. to normalize the value.
Name | string | Read only | The name of the named parameter (only for the type PT_NamedPropertyValue)


IRect

What it does

Represents a rectangle.

Methods

Definition | Description
ToString() : string | Represents a rectangle as a string of the form "[left,top,right,bottom]".

Properties

Name | Type | Access | Description
Left | int | Read only | Left coordinate
Right | int | Read only | Right coordinate
Top | int | Read only | Top coordinate
Bottom | int | Read only | Bottom coordinate


IRects

What it does

A collection of IRect objects.


IRoutingRuleResult

What it does

Represents the result of the routing script execution.

Properties

Name | Type | Access | Description
CheckSucceeded | bool | Read/write | Specifies whether the check succeeded
PrincipalId | int | Read/write | A user or user group identifier that is assigned to the document if the routing succeeds. If the document is not assigned to any principal in the routing script, the PrincipalId value is "0". The "0" value indicates that the document can be processed by any user. For details, see IPrincipal.
Priority | TProcessingPriority | Read/write | The priority that will be assigned to the document if the routing script returns "true".


IRuleContext

What it does

A context object of rules. Represents the object, at whose level the rule was created.

The object implements IField interface (by means of providing access to the context field of the rule) and also has additional methods.

Properties

Name | Type | Access | Description
Fields | IFields | Read only | Collection of fields in the rule. Specified in rule settings.
Document | IDocument | Read only | Access to the document
CheckSucceeded | bool | Read/write, Mutable (can be modified even in scripts with read-only permissions) | Specifies whether the check succeeded
ErrorMessage | string | Read/write, Mutable (can be modified even in scripts with read-only permissions) | A message concerning a rule error
FocusedField | IField | Read/write, Mutable (can be modified even in scripts with read-only permissions) | The field to be focused when clicking a rule error (the field that caused the rule error).
ParentWindow | int | Read only | A handle of the parent window. Applies in "Custom Action" script only.
FocusRect | IRect | Read only | A rectangle in screen coordinates, the executed action refers to (a rectangle of the window). Applies in "Custom Action" script only.
[Obsolete] FieldsObject | IFR65Fields | Read only | An obsolete property. Retained for compatibility with scripts created in FormReader 6.5.
[Obsolete] ErrorObjectObject | IFR65Errors | Read only | An obsolete property. Retained for compatibility with scripts created in FormReader 6.5.


IRuleError

What it does

Represents a rule error, format error or merging error in the document.

Methods

Definition | Description
GetFields() : IFields | Returns the fields associated with the given field error.

Properties

Name | Type | Access | Description
Message | string | Read only | The text of the error message.
IsWarning | bool | Read only | Specifies whether the message is a warning.
Type | TRuleErrorType | Read only | The error type.
RuleName | string | Read only | The name of the rule that caused the error. For format and merging errors, an empty string is returned.


IRuleErrors

What it does

A collection of IRuleError objects.


IScriptBinaryAttributes

Description

A set of bool flags.

Methods

Definition | Description
Has( TStateType : int ) : bool | Checks whether the requested flag is set


IStageInfo

What it does

Stores information about a processing stage of the document.

Properties

Name | Type | Access | Description
StageID | int | Read only | The identifier of the current processing stage
StageName | string | Read only | The name of the current processing stage
TaskId | int | Read only | The identifier of the task. If there is no task, its value is "0".
PrincipalId | int | Read only | The identifier of a user or a group which can receive a task with the given document. "0" indicated that the task is not assigned to any principal (user or group). For details, see IPrincipal.


IUserAttachment

What it does

The interface is used for working with the contest of user attachment. The object represents an array of bytes. Bytes can be accessed as objects in the collection. The byte value at any position can be changed.

Methods

Definition | Description
SetSize( newSize : int) : bool | Changes the size of the file. Files whose size is smaller than the specified value are increased, files with larger size are cut.
ToFile( fileName : string) | Saves the file to the specified path on a hard disk.
FromFile( fileName : string) | Replaces the attachment contest with a file from the specified path.
UploadAttachment( ) | Saves changes made to the attachment.

Properties

Name | Type | Access | Description
Name | string | Read only | The name of the file.
AsString | string | Read/write | Represents the file as one Unicode string. Files can be both written and read as Unicode strings.


IUserAttachments

What it does

A collection of the IUserAttachment objects.

Methods

Definition | Description
Has( name : string) : bool | Checks whether the attachment file with the specified name exists.
Get( name : string) : IUserAttachment | Accesses the attachment file with the given name.
AddNew( name : string) : IUserAttachment | Creates a new attachment file and starts editing it. Important! The method creates a new IUserAttachment item without adding it to the collection. To add the item to the collection and make it available for editing, the UploadAttachment( ) method must be called. Note: If a non-zero attachment with this name already exists, an exception will be returned.
Delete( name : string) | Deletes the attachment file with the given name. Note: When deleting an element, its existence is not checked. Thus the method succeeds even if the element being deleted is not in the collection.

Properties

Name | Type | Access | Description
Names | IVariantArray | Read only | The array with the names of attachment files.
IsEmpty | bool | Read only | Checks whether the array contains any attachment files.


IValue

What it does

Represents a field value.

Properties

Name | Type | Access | Description
Text | string | Read/write | Text representation of the value
ErrorMessage | string | Read/write | Message concerning a value formatting error
Symbols | ICharactersParams | Read only | Detailed information about symbols properties
[Obsolete] SuspiciousSymbols | string | Read/write | Describes what symbols are suspicious for recognizer, consists of "0" and "1". Retained for backward compatibility.


TAssemlingErrorType

Description

The type of assembly error.

Admissible values:

  • AET_ObligatoryItemOmitted = 0 - A missing section
  • AET_RubbishItem = 1 - An extra page
  • AET_AssemblingRuleError = 2 - A custom assembly error
  • AET_KeyValuesMismatch = 3 - Values of the key fields mismatch (there can be no more than one error of this type within the document)


TExportFieldType

What it does

Enumeration of int type. Defines the type of the document fields.

Admissible values:

  • EFT_TextField = 0 - A text field
  • EFT_DateTimeField = 1 - A date field
  • EFT_NumberField = 2 - A number field
  • EFT_PictureField = 3 - A picture field
  • EFT_CurrencyField = 4 - A currency field
  • EFT_Checkmark = 5 - A checkmark
  • EFT_CheckmarkGroup = 6 - A checkmark group
  • EFT_Group = 7 - An ordinary group
  • EFT_Table = 8 - A table. You can access table rows through the Items or the Rows methods of the IField object.
  • EFT_Section = 9 - A document section
  • EFT_Document = 10 - A document. Fields of this type can occur only in rules written for the level of a document. Most parameters of such fields are unavailable.
  • EFT_TableRow = 11 - A table row. Table cells are the child fields of the row. They are available through the method Children.
  • EFT_TimeField = 12 - A time field


TExportType

Description

The type of the export target.

Admissible values:

  • ET_File = 1 - Export to file
  • ET_Database = 2 - Export to database
  • ET_Script = 3 - Script export
  • ET_SharePoint = 4 - Export to SharePoint
  • ET_Unknown = 5 - The type is not specified in the event of an error that does not concern any particular exporter


TPageClassificationType

Description

The type of the page defined by the Classifier. Applies in the IPageClassificationResult interface.

Types:

  • PCT_Unknown = 0 - An unknown page type.
  • PCT_Empty = 1 - An empty page.
  • PCT_FixedForm = 2 - A page with a fixed layout.
  • PCT_FlexibleMultiPageFormHeader = 3 - A header of a multipage flexible section.
  • PCT_FlexibleMultiPageFormNonHeader = 4 - A page in a multipage flexible section which is not a header.
  • PCT_FlexibleSinglePageForm = 5 - A one-page flexible section.
  • PCT_ClassWithoutDefinition = 6 - A page of the class without Document Definition.


TPrincipalType

Description

Types of principals.

Admissible values:

  • PT_User = 0 - A regular user
  • ST_Group = 1 - A user group


TProcessingPriority

Description

The processing priority of a document or a batch.

Note: The value is passed to the event "Document priority change" (or "Batch priority change") in the form of a string. A new value must be also specified in the form of a string.

Admissible values:

  • PP_Lowest = -2 - The lowest priority. Passed in the form of the string "lowest".
  • PP_Low = -1 - A low priority. Passed in the form of the string "low".
  • PP_Normal = 0 - A normal priority. Passed in the form of the string "normal".
  • PP_High = 1 - A high priority. Passed in the form of the string "high".
  • PP_Highest = 2 - The highest priority. Passed in the form of the string "highest".


TPropertyType

Description

The type of document (or batch) properties. Applies in the IPropertyModificationInfo interface.

Types:

  • PT_Name = 0 - The name. Applies for batches only.
  • PT_Comment = 1 - The comment.
  • PT_BatchType = 2 - The batch type. Applies for batches only.
  • PT_NamedPropertyValue = 3 - A named property (formerly a registration parameter)
  • PT_Id = 4 - The identifier (the ExternalId of the document). Its value changes occasionally and only for documents. The value changes mostly during import.


TRuleErrorType

Description

The type of the error. Applies in the IRuleError interface.

Types:

  • ET_RuleError = 0 - A rule error.
  • ET_FormatError = 1 - A format error.
  • ET_MergeVersionError = 2 - An error of merging different versions of the document.


TStateType

Description

Types of document states. Used in the event "Document state changed". The ChangedState parameter of this event can be used to get information on possible changes of each state type.

Admissible values:

  • ST_Preprocessed = 0 - Whether the document is preprocessed. The value can be changed only from "false" to "true".
  • ST_Analyzed = 1 - Whether the document is analyzed
  • ST_Recognized = 2 - Whether the document is recognized (a document is considered recognized if there is at least one recognized section in it)
  • ST_HasErrors = 3 - Whether the document has errors (including format errors)
  • ST_Assembled = 4 - Whether the document is assembled
  • ST_Verifyed = 5 - Whether the document is verified completely
  • ST_Exported = 6 - Whether the document is exported
  • ST_HasLayout = 7 - Whether the document has a layout. (In analyzed document a layout can also be missing, e.g, if the page has an unknown type.)


Sample scripts

This section contains sample scripts written in JScript® and VBScript scripting languages.

Sample scripts for creating custom rules
Sample scripts describing export
Other sample scripts


Sample scripts for creating custom rules

Automation rule

This example demonstrates a table data check. The rule checks whether the table data matches the value in the resulting field. The table has columns with prices and quantities of certain goods. The rule has been written at the level of a section containing the table and the resulting field.

[VBScript]

dim autoRule

set autoRule = CreateObject( "AutomationRule.CheckDoc" )

autoRule.CheckResult me.FIELD("cost"), me.FIELD("number"), _

me.FIELD("Result"), me

[JScript]

var autoRule = new ActiveXObject( "AutomationRule.CheckDoc" );

autoRule.CheckResult( Field("cost"), Field("number"),

Field("Result"), this );

Code of an ActiveX component

The code provided here is a CheckDoc class code from the AutomationRule project, which is used in the scripts mentioned above.

Option Explicit

' Checks whether table data matches the result

' column1 - price column

' column2 - quantity column

' resultField - resulting field (<Total> or equivalent )

' docObj - document node being checked

Public Sub CheckResult(ByRef column1 As Object, ByRef column2 As Object, _

ByRef resultField As Object, ByRef docObj As Object)

On Error GoTo err_h

Dim costItems As Object, numItems As Object

    Dim curCost As Double, curNum As Long, sum As Double

Dim result As Double

Dim i As Long

Set costItems = column1.Items

Set numItems = column2.Items

' summing up table data

sum = 0

For i = 0 To costItems.Count - 1

curCost = costItems.Item(i).Value

curNum = numItems.Item(i).Value

sum = sum + curNum * curCost

Next

' comparison accuracy – result rounded to the 2nd digit after the decimal point

result = resultField.Value

If (Round(result, 2) = Round(sum, 2)) Then

docObj.CheckSucceeded = True

Else

docObj.CheckSucceeded = False

docObj.ErrorMessage = "Table data does not match the resulting value"

resultField.Suggest sum

End If

Exit Sub

err_h:

docObj.ErrorMessage = Err.Description

docObj.CheckSucceeded = False

End Sub

Search in the variants list

The rule code provided below checks whether the field value matches one of the values in the list. If not, a rule error flag appears, and the field receives a list of suggested values. Depending on the check result, the field is marked as certainly or uncertainly recognized.

[VBScript]

'remember field value

Dim fieldValue

fieldValue = me.Field("Field6").Value

'create list of values for check

Dim list(5)

dim i

for i = 0 to 4

list(i) = "2" & i

next

dim success

success = false

'check whether field value matches values in the list

for i = 0 to 4

if list(i) = fieldValue Then

success = true

exit for

end if

next

'depending on the check result, set a corresponding certainty status for the field

me.Field("Field6").IsCertain = success

'fill the list of suggestions for the field – a suggestion can be any of the

'suitable values

if success = false then

for i = 0 to 4

me.Field("Field6").Suggest( list(i) )

next

end if

'place an error flag

me.CheckSucceeded = success

[JScript]

// remember field value

var fieldValue = Field("Field6").Value;

// create list of values for check

var list = new Array(5);

for( i = 0; i < 5; i++ ) {

list[i] = "2" + i

}

var success = false;

// match field value against values in the list

for( i = 0; i < 5; i++ ) {

if( list[i] == fieldValue ) {

success = true;

break;

}

}

// depending on the check result, set a corresponding certainty status for the field

Field("Field6").IsCertain = success;

// fill the list of suggestions for the field – a suggestion can be any of the

// suitable values

if( !success ) {

for( i = 0; i < 5; i++ ) {

Field("Field6").Suggest( list[i] );

}

}

// place error flag

CheckSucceeded = success;

Field match check

The rule code provided below checks whether the checked field has matched.

[VBScript]

if me.Field("InvoiceNumber").IsMatched then

me.CheckSucceeded = true

else

me.CheckSucceeded = false

me.ErrorMessage = "Field InvoiceNumber is not matched"

end if

[JScript]

if( Field("InvoiceNumber ").IsMatched ) {

CheckSucceeded = true;

} else {

CheckSucceeded = false;

ErrorMessage = "Field InvoiceNumber is not matched";

}

Checkmark check

The rule code provided below checks whether the checkmark has been selected or not

[VBScript]

if me.Field("Page status").Value then

me.CheckSucceeded = true

else

me.CheckSucceeded = false

me.ErrorMessage = "Page status is not checked"

end if

[JScript]

if( Field("Page status").Value ) {

CheckSucceeded = true;

} else {

CheckSucceeded = false;

ErrorMessage = "Page status is not checked";

}

Checkmark group check

The rule code provided below iterates all the checkmarks in the group and if none are selected, selects the first one. The rule is written for the checkmark group level. All the checkmarks in the group have been added to the list of fields included into the rule. The group itself has been excluded from the list. For the default checkmark (the first one), the Readonly flag has been disabled. If there are no checkmarks in the group, a rule error flag is enabled.

This sample code iterates all the fields included in the rule. Since field names are not specified in the code, this code can be used for any checkmark group.

[VBScript]

if me.Fields.Count = 0 then

me.CheckSucceeded = false

me.ErrorMessage = "No checkmarks in group"

else

dim isChosen, i

isChosen = false

for i = 0 to me.Fields.Count - 1

if me.Fields.Item( i ).Value then

isChosen = true

exit for

end if

next

if Not isChosen then

me.Fields.Item(0).Value = true

end if

me.CheckSucceeded = true

end if

[JScript]

if( Fields.Count == 0 ) {

CheckSucceeded = false;

ErrorMessage = "No checkmarks in group";

} else {

var isChosen = false;

var i;

for( i = 0; i < Fields.Count; i++ ) {

if( Fields.Item( i ).Value ) {

isChosen = true;

break;

}

}

if( !isChosen ) {

Fields.Item(0).Value = true;

}

CheckSucceeded = true;

}

Field reliability check
The rule code provided below checks the number of uncertain characters in the field and clears the field if the number of uncertain characters is greater than or equals three. This is an Autocorrection script.

[VBScript]

Dim totQty, suspQty

Dim i

totQty = me.Symbols.Count

suspQty = 0

for i = 0 to totQty - 1

if me.Symbols.Item(i).IsSuspicious = true then

suspQty = suspQty + 1

end if

next

if suspQty >= 3 then

me.Text = ""

end if

[JScript]

var susp, qty, strpos, i, SC, strposPrev

strposPrev = 1

qty = 0

SC = "1"

susp = SuspiciousSymbols

for ( i = 0; i < susp.length; i++) {

strpos = susp.indexOf (SC,i)

if ((strpos != strposPrev) && (strpos != -1)) {

qty = qty + 1

strposPrev = strpos

}

}

if (qty >= 3) {

text = ""

}

Batch integrity check
Checks if the number of documents specified on the control page coincides with the inventory in the batch and with the number of documents actually processed. If the numbers do not match, an error is returned.

[VBScript]

dim DQty

dim i

for i = 0 to me.Batch.Documents.Count - 1

if me.Batch.Documents.Item(i).TemplateName = "Inv" then

DQty = me.Batch.Documents.Item(i).IndexedItemValue("DocQty")

exit for

end if

next

dim AcQty

AcQty = me.Batch.Documents.Count

if acqty <> DQty then

me.CheckSucceeded = false

me.ErrorMessage = "Incorrect number of documents in the batch:" & " " & AcQty& ". " & "Expected number:" & " " & DQty & "!"

end if

[JScript]

for ( i = 0; i < [Batch.Documents.Count - 1]; i++ ) {

var TemplName = Batch.Documents.Item(0).TemplateName;

if (TemplName = "Inv") {

var DQty = Batch.Documents.Item(i).IndexedItemValue("DocQty");

break ;

}

}

var AcQty = Batch.Documents.Count -1

if (AcQty != DQty) {

CheckSucceeded = false;

ErrorMessage = "Incorrect number of documents in the batch:" + " " + AcQty + "." + "Expected number:" + " " + DQty +"!" ;

}


Sample scripts describing export

Getting field values during export
This sample code shows how you can get the value of a field during export. You may use this value to name the files into which images or date are exported. If there is no such field in the document, an error will occur.

The structure of the document to be exported:

Section 1

Field1

…

Group1

Field2

…

…

FieldN

Section 2

Field1

…

FieldK

[VBScript]

Dim field1Value, field2Value

' Gets the value of Field1 in Section 1

if Not IsNull( me.Field( "Section 1\Field1" ).Value ) then

field1Value = me.Field( "Section 1\Field1" ).Value

end if

' Gets the value of Field2 in Group1 in Section 1

if Not IsNull( me.FIELD( "Section 1\Group1\Field2" ).Value ) then

field2Value = me.Field( "Section 1\Group1\Field2" ).Value

end if

' Gets the value of Field1 in Section 1 if the section has multiple instances

if Not me.Field( "Section 1" ).Items Is Nothing then

dim curPage

for each curPage in me.Field( "Section 1" ).Items

if Not curPage.Children Is Nothing then

dim curField

for each curField in curPage.Children

if curField.Name = "Field1" And Not IsNull( curField.Value ) then

field1Value = curField.Value

exit for

end if

next

end if

next

end if

[JScript]

// Gets the value of Field1 in Section 1

if( Field("Section 1\\Field1").Value != null ) {

var field1Value = Field("Section 1\\Field1").Value;

}

// Gets the value of Field2 in Group1 in Section 1

if( Field("Section 1\\Group1\\Field2").Value != null ) {

var field2Value = Field("Section 1\\Group1\\Field2").Value;

}

// Gets the value of Field1 in Section 1 if the section has multiple instances

if( Field( "Section 1" ).Items != null ) {

var i, j;

for( i = 0; i < Field( "Section 1" ).Items.Count; i++ ) {

var curPage = Field( "Section 1" ).Items.Item( i );

if( curPage.Children != null ) {

for( j = 0; j < curPage.Children.Count; j++ ) {

var curField = curPage.Children.Item( j );

if( curField.Name == "Field1" && curField.Value != null ) {

var field1Value = curField.Value;

break;

}

}

}

}

}

Exporting page images

The code in this example shows how to export images of all document pages using the required file format, color scheme and resolution. Images are saved by the page, i.e. every page in a separate file.

The files in this example are named "page1.tif," "page2.tif," etc. You can change the file naming mechanism if required. For example, you can create file names based on the value of a field.

[VBScript]

dim fso, folderName

set fso = CreateObject("Scripting.FileSystemObject")

folderName = "d:\ExportImages"

if Not fso.FolderExists( folderName ) then

fso.CreateFolder folderName

end if

dim imageOptions

set imageOptions = ExportTools.NewImageSavingOptions

imageOptions.Format = "tif"

imageOptions.ColorType = "BlackAndWhite"

imageOptions.Resolution = 600

dim i

for i = 0 to me.Pages.Count - 1

dim fileName

    ' Sets the desired name and extension for the file depending on the selected format

fileName = fso.BuildPath( folderName, "page" & (i+1) & ".tif" )

me.Pages.Item(i).SaveAs fileName, imageOptions

next

[JScript]

var fso = new ActiveXObject("Scripting.FileSystemObject");

var folderName = "d:\\ExportImages";

if( !fso.FolderExists( folderName ) ) {

fso.CreateFolder( folderName );

}

var imageOptions = ExportTools.NewImageSavingOptions();

imageOptions.Format = "tif";

imageOptions.ColorType = "BlackAndWhite";

imageOptions.Resolution = 600;

var i;

for( i = 0; i < Pages.Count; i++ ) {

    // Sets the desired name and extension for the file depending on the selected format

var fileName = fso.BuildPath( folderName, "page" + (i+1) + ".tif" );

Pages.Item(i).SaveAs( fileName, imageOptions );

}

Exporting a table

This example shows how to export a table to a *.txt file.

[VBScript]

dim fso, txtFile, fileName

set fso = CreateObject("Scripting.FileSystemObject")

fileName = "d:\TestExportTable.txt"

set txtFile = fso.CreateTextFile( fileName, true )

txtFile.WriteLine "Table"

dim table, row, cell, rowNumber

set table = me.Field("Page 1\Table")

rowNumber = 1

for each row in table.Items

txtFile.WriteLine "RowNumber = " & rowNumber

for each cell in row.Children

txtFile.Write cell.Value & " "

next

txtFile.WriteBlankLines 1

rowNumber = rowNumber + 1

next

txtFile.Close

set txtFile = nothing

set fso = nothing

[JScript]

var fso, txtFile, fileName;

fso = new ActiveXObject("Scripting.FileSystemObject");

fileName = "d:\\TestExportTable1.txt";

txtFile = fso.CreateTextFile( fileName, true );

txtFile.WriteLine( "Table" );

var table, i, j;

table = Field("Page 1\\Table");

var rows = table.Items;

for( i = 0; i < rows.Count; i++ ) {

txtFile.WriteLine( "RowNumber = " + ( i+1 ) );

var cells = rows.Item(i).Children;

for( j = 0; j < cells.Count; j++ ) {

txtFile.Write( cells.Item(j).Value + " " );

}

txtFile.WriteBlankLines(1);

}

txtFile.Close();

Exporting a document of any nesting level

This example shows how to export fields of a document of any nesting level using custom-made functions from the global export module. If you need to export document fields of variable nesting, it is recommended to use an external COM component (see next example)

Core export code

[VBScript]

Export.ExportDocument me, ExportTools

[JScript]

Export.ExportDocument( this, ExportTools );

The code of the functions of the global export module

[VBScript]

' The procedure carries out the export: creates an export folder and

' saves in it page image files, the text file with the document fields,

' and information about the document

Sub ExportDocument(ByRef docObj, ByRef exportTools)

    Dim folderNameme

    Dim txtFile, fileName

    Dim fso

    On Error Resume Next

    set fso = CreateObject("Scripting.FileSystemObject")

    ' creating the export folder

    folderName = CreateExportFolder(docObj.TemplateName, fso)

    if Err.Number <> 0 then

        docObj.Action.Succeeded = false

        docObj.Action.ErrorMessage = "Error during create export folder: " + Err.Description

        Err.Clear

        Exit Sub

    End if

    ' exporting images

    ExportImages docObj, exportTools, folderName, fso

    if Err.Number <> 0 then

        docObj.Action.Succeeded = false

        docObj.Action.ErrorMessage = "Error during export images: " + Err.Description

        Err.Clear

        Exit Sub

    End if

    ' creating the text file

    fileName = fso.BuildPath(folderName, "doc.txt")

    Set txtFile = fso.CreateTextFile(fileName, True)

    ' exporting info about the document

    ExportDocInfo docObj, txtFile

    ' exporting fields

    txtFile.WriteLine "Fields:"

    ExportFields docObj.Children, txtFile, ""

    txtFile.Close

    if Err.Number <> 0 then

        docObj.Action.Succeeded = false

        docObj.Action.ErrorMessage = "Error during export data: " + Err.Description

        Err.Clear

        Exit Sub

    End if

    Set txtFile = Nothing

    Set fso = Nothing

End Sub

' Image export function.

Function ExportImages( ByRef docObj, ByRef exportTools, ByVal exportFolder, ByRef fso )

    Dim pages, page, imageOptions

    Dim fileName, pageNum

    ' specifyingng export settings

    Set imageOptions = exportTools.NewImageSavingOptions

    imageOptions.Format = "bmp"

    imageOptions.ColorType = "FullColor"

    imageOptions.Resolution = 100

    ' ' page-by-page export

    Set pages = docObj.Pages

    pageNum = 1

    For Each page In pages

        fileName = fso.BuildPath(exportFolder, "page" & pageNum & ".bmp")

        page.SaveAs fileName, imageOptions

        pageNum = pageNum + 1

    Next

End Function

' The procedure that exports info about the document

Sub ExportDocInfo(ByRef docObj, ByRef txtFile)

    txtFile.WriteLine "Doc info:"

    txtFile.WriteLine ("DocumentId " & docObj.Id)

    txtFile.WriteLine ("IsAssembled " & docObj.IsAssembled)

    txtFile.WriteLine ("IsVerified " & docObj.IsVerified)

    txtFile.WriteLine ("IsExported " & docObj.IsExported)

    txtFile.WriteLine ("ProcessingErrors " & docObj.ProcessingErrors)

    txtFile.WriteLine ("ProcessingWarnings " & docObj.ProcessingWarnings)

    txtFile.WriteLine ("TotalSymbolsCount " & docObj.TotalSymbolsCount)t)

    txtFile.WriteLine ("RecognizedSymbolsCount " & docObj.RecognizedSymbolsCount)

    txtFile.WriteLine ("UncertainSymbolsCount " & docObj.UncertainSymbolsCount)

    txtFile.WriteLine

End Sub

' The procedure that exports fields from the fields collection

Sub ExportFields(ByRef fields, ByRef txtFile, ByVal indent)

    Dim curField

    For Each curField In fields

        ExportField curField, txtFile, indent

    Next

End Sub

' Checks if the value of the field is null

' If the field value is invalid, any attempt to access this field (even

' to check if it is null) may cause an exception

Function IsNullFieldValue( ByRef field )

    on error resume next

    IsNullFieldValue = IsNull( field.Value )

    if Err.Number <> 0 then

        IsNullFieldValue = True

        Err.Clear

    End ifif

End Function

' Field export procedure

Sub ExportField(ByRef field, ByRef txtFile, ByVal indent)

    ' saving field name

    txtFile.Write (indent & field.Name)

    ' saving field value if it can be accessed

    If IsNullFieldValue(field) Then

        txtFile.WriteLine

    Else

        txtFile.WriteLine ("    " & field.Text)

    End If

    If Not field.Children Is Nothing Then

        ' exporting child fields

        ExportFields field.Children, txtFile, indent & "    "

    ElseIf Not field.Items Is Nothing Then

        ' exporting field instances

        ExportFields field.Items, txtFile, indent & "    "

    End If

End Sub

' The function creates an export folder and returns a full path to this folder

Function CreateExportFolder(ByVal templateName, ByRef fso)

    Dim docFolder, folderName

    ' main folderer

    exportFolder = "d:\ScriptExport"

    If fso.FolderExists(exportFolder) = False Then

        fso.CreateFolder (exportFolder)

    End If

    ' the folder of the specified Document Definition

    docFolder = fso.BuildPath(exportFolder, templateName)

    If fso.FolderExists(docFolder) = False Then

        fso.CreateFolder (docFolder)

    End If

    ' the folder of the exported document

    Dim i

    i = 1

    folderName = fso.BuildPath(docFolder, i)

    While fso.FolderExists(folderName)

        i = i + 1

        folderName = fso.BuildPath(docFolder, i)

    Wend

    fso.CreateFolder (folderName)

    CreateExportFolder = folderName

End Function

[JScript]

// The function carries out the export: creates an export folder and

// saves in it page image files, the text file with the document fields,

// and information about the document

function ExportDocument(docObj, exportImageTools)

{

    var folderName

    var txtFile, fileName

    var fso

    fso = new ActiveXObject("Scripting.FileSystemObject");

    // creating export folders

    try {

        folderName = CreateExportFolder(docObj.TemplateName, fso);

    } catch( e ) {

        docObj.Action.Succeeded = false;

        docObj.Action.ErrorMessage = "Error during create export folder: " + e.description;

        return;

    }

    // exporting images

    try {

        ExportImages(docObj, exportImageTools, folderName, fso);

    } catch( e ) {

        docObj.Action.Succeeded = false;

        docObj.Action.ErrorMessage = "Error during export images: " + e.description;

        return;

    }

    // creating the text file

    fileName = fso.BuildPath(folderName, "doc.txt");

    txtFile = fso.CreateTextFile(fileName, true);

    // exporting info about the document

    ExportDocInfo( docObj, txtFile );

    // exporting fields

    txtFile.WriteLine( "Fields:" );

    try {

        ExportFields( docObj.Children, txtFile, "" );

    } catch( e ) {

        docObj.Action.Succeeded = false;

        docObj.Action.ErrorMessage = "Error during export data: " + e.description;

        txtFile.Close();

        return;

    }

    txtFile.Close();

    txtFile = 0;

    fso = 0;

}

// Image export function.

function ExportImages( docObj, exportImageTools, exportFolder, fso )

{

    // specifying export settings

    var imageOptions = exportImageTools.NewImageSavingOptions();

    imageOptions.Format = "bmp";

    imageOptions.ColorType = "FullColor";

    imageOptions.Resolution = 100;

    // page-by-page export

    var pages = docObj.Pages;

    var i i

    for( i = 0; i < pages.Count; i++ ) {

        var fileName = fso.BuildPath( exportFolder, "page" + (i+1) + ".bmp" );

        pages.Item(i).SaveAs( fileName, imageOptions );

    }

}

// The procedure that exports info about the document

function ExportDocInfo(docObj, txtFile)

{

    txtFile.WriteLine( "Doc info:" );

    txtFile.WriteLine("IsAssembled " + docObj.IsAssembled);

    txtFile.WriteLine("IsVerified " + docObj.IsVerified);

    txtFile.WriteLine("IsExported " + docObj.IsExported);

    txtFile.WriteLine("ProcessingErrors " + docObj.ProcessingErrors);

    txtFile.WriteLine("ProcessingWarnings " + docObj.ProcessingWarnings);

    txtFile.WriteLine("TotalSymbolsCount " + docObj.TotalSymbolsCount);

    txtFile.WriteLine("RecognizedSymbolsCount " + docObj.RecognizedSymbolsCount);

    txtFile.WriteLine("UncertainSymbolsCount " + docObj.UncertainSymbolsCount);

    txtFile.WriteLine();

}

// The procedure that exports fields from the fields collection

function ExportFields(fields, txtFile, indent)

{

    var i

    for( i = 0; i < fields.Count; i++ ) {

        ExportField( fields.Item(i), txtFile, indent );

    }

}

// Checks if the field value is null

// If the field value is invalid, any attempt to access this field (even

// to check if it is null) may cause an exception

function IsNullFieldValue( field )

{

    try {

        return ( field.Value == null );

    } catch( e ) {

        return true;

    }

}

// Field export procedure

function ExportField(field, txtFile, indent)

{

    // saving field name

    txtFile.Write(indent + field.Name);

    // saving field value, if it can be accessed

    if( IsNullFieldValue( field ) ) {

        txtFile.WriteLine();

    } else {

        txtFile.WriteLine("    " + field.Text);

    }

    if( field.Children != null ) {

        // exporting child fields

        ExportFields( field.Children, txtFile, indent + "    " );

    } else if( field.Items != null ) {

        // exporting field instances

        ExportFields( field.Items, txtFile, indent + "    " );

    }

}

// The function creates an export folder and returns a full path to this folder

function CreateExportFolder(templateName, fso)

{

    var docFolder, folderName

    // main folder

    var exportFolder = "d:\\ScriptExport";

    if( !fso.FolderExists(exportFolder) ) {

        fso.CreateFolder (exportFolder);

    }

    // the folder of the specified Document Definition

    docFolder = fso.BuildPath(exportFolder, templateName);

    if( !fso.FolderExists(docFolder) ) {

        fso.CreateFolder(docFolder););

    }

    // the folder of the exported document

    var i = 1;

    folderName = fso.BuildPath(docFolder, i);

    while( fso.FolderExists(folderName) ) {

        i++;

        folderName = fso.BuildPath(docFolder, i);

    }

    fso.CreateFolder(folderName);

    return folderName;

}

Using an external COM component

[VBScript]

dim autoExport

set autoExport = CreateObject( "AutomationExport.Exporter" )

autoExport.Export me, ExportTools

[JScript]

var autoExport = new ActiveXObject("AutomationExport.Exporter");

autoExport.Export( this, ExportTools );

Code of an ActiveX component in VisualBasic

Provided below is an Exporter class code from the AutomationExport project, which is used in the above mentioned scripts.

Option Explicit

Dim mFso As New Scripting.FileSystemObject

' The procedure carries out document export: creates an export folder and

' saves in it page image files, the text file with document fields,

' and information about the document

Public Sub Export(ByRef docObj As Object, ByRef exportTools As Object)

On Error GoTo err_h

    Dim folderName As String

    Dim txtFile As TextStream, fileName As String

    Dim imageExportResult As String, errMessage As String

    ' creating export folder

    folderName = createExportFolder(docObj.templateName)

    If folderName = "" Then

        docObj.Action.Succeeded = False

        docObj.Action.ErrorMessage = "Cannot create export folder"

        Exit Sub

    End If

    ' exporting images

    imageExportResult = exportImages(docObj, exportTools, folderName)

    ' creating the text file

    fileName = mFso.BuildPath(folderName, "doc.txt")

    Set txtFile = mFso.CreateTextFile(fileName, True)

    ' saving info about image export problems

    If imageExportResult <> "" Then

        txtFile.WriteLine imageExportResult

        errMessage = errMessage & imageExportResult

    End If

    ' exporting info about document

    exportDocInfo docObj, txtFile

    ' exporting fields

    txtFile.WriteLine "Fields:"

    If Not exportFields(docObj.Children, txtFile, "") Then

       errMessage = errMessage & " Error during export data"

    End If

    txtFile.Close

    ' if errors occur during export, reset the

    ' export success flag to False

    If errMessage <> "" Then

        docObj.Action.Succeeded = False

        docObj.Action.ErrorMessage = errMessage

    End If

    Set txtFile = Nothing

    Set mFso = Nothing

Exit Sub

err_h:

    docObj.Action.Succeeded = False

    docObj.Action.ErrorMessage = Err.Description

    txtFile.Close

    Set mFso = Nothing

End Sub

' Image export function. If an error occurs when exporting images,

' it returns a message about the error, otherwise it returns an empty string

Private Function exportImages(ByRef docObj As Object, ByRef exportTools As Object, _

    ByVal exportFolder As String) As String

On Error GoTo err_h

    Dim pages As Object, page As Object, imageOptions As Object

    Dim fileName As String, pageNum As Long

    exportImages = ""

    ' specifying export settings

    Set imageOptions = exportTools.NewImageSavingOptions

    imageOptions.Format = "png"

    imageOptions.ColorType = "GrayScale"

    imageOptions.Resolution = 300

    ' page-by-page export

    Set pages = docObj.pages

    pageNum = 1

    For Each page In pages

        fileName = mFso.BuildPath(exportFolder, page.templateName + "_page" & pageNum & "." & imageOptions.Format)

        page.SaveAs fileName, imageOptions

        pageNum = pageNum + 1

    Next page

Exit Function

err_h:

    exportImages = Err.Description

End Function

' The procedure that exports info about the document

Private Sub exportDocInfo(ByRef docObj As Object, ByRef txtFile As TextStream)

On Error GoTo err_h

    txtFile.WriteLine "Doc info:"

    txtFile.WriteLine ("DocumentId " & docObj.Id)

    txtFile.WriteLine ("IsAssembled " & docObj.IsAssembled)

    txtFile.WriteLine ("IsVerified " & docObj.IsVerified)

    txtFile.WriteLine ("IsExported " & docObj.IsExported)

    txtFile.WriteLine ("ProcessingErrors " & docObj.ProcessingErrors)

    txtFile.WriteLine ("ProcessingWarnings " & docObj.ProcessingWarnings)

    txtFile.WriteLine ("TotalSymbolsCount " & docObj.TotalSymbolsCount)

    txtFile.WriteLine ("RecognizedSymbolsCount " & docObj.RecognizedSymbolsCount)

    txtFile.WriteLine ("UncertainSymbolsCount " & docObj.UncertainSymbolsCount)

    txtFile.WriteLine

Exit Sub

err_h:

    txtFile.WriteLine Err.Description

End Sub

' The procedure that exports fields from the fields collection

Private Function exportFields(ByRef fields As Object, ByRef txtFile As TextStream, ByVal indent As String) As Boolean

On Error GoTo err_h

    Dim curField As Object

    exportFields = True

    For Each curField In fields

        If Not exportField(curField, txtFile, indent) Then

            exportFields = False

        End If

    Next curField

Exit Function

err_h:

    txtFile.WriteLine Err.Description

    exportFields = False

End Function

' Checks if the field value is null

' If the value is invalid, any attempt to access this field (even

' to check if it is null) may cause an exception

Function IsNullFieldValue(ByRef field As Object) As Boolean

On Error GoTo err_h

    IsNullFieldValue = IsNull(field.Value)

Exit Function

err_h:

    IsNullFieldValue = True

End Function

' Field export function

Private Function exportField(ByRef field As Object, ByRef txtFile As TextStream, _

    ByVal indent As String) As Boolean

On Error GoTo err_h

    Dim result As Boolean

    result = True

    ' saving field name

    txtFile.Write (indent & field.Name)

    ' saving field value if it can be accessed

    If Not IsNullFieldValue(field) Then

        txtFile.WriteLine ("    " & field.Value)

    Else

        txtFile.WriteLine

    End If

    If Not field.Children Is Nothing Then

        ' exporting child fields

        result = result And exportFields(field.Children, txtFile, indent & "    ")

    ElseIf Not field.Items Is Nothing Then

        ' exporting field instances

        result = result And exportFields(field.Items, txtFile, indent & "    ")

    End If

    exportField = result

Exit Function

err_h:

    txtFile.WriteLine Err.Description

    exportField = False

End Function

' The function creates an export folder and returns a full path to this folder

Private Function createExportFolder(ByVal templateName As String) As String

On Error GoTo err_h

    Dim docFolder As String, folderName As String

    ' main folder

    Const exportFolder = "d:\AutomationExport"

    If mFso.FolderExists(exportFolder) = False Then

        mFso.CreateFolder (exportFolder)

    End If

    ' the folder of the specified Document Definition

    docFolder = mFso.BuildPath(exportFolder, templateName)

    If mFso.FolderExists(docFolder) = False Then

        mFso.CreateFolder (docFolder)

    End If

    ' the folder of the exported document

    Dim i As Long

    i = 1

    folderName = mFso.BuildPath(docFolder, i)

    While mFso.FolderExists(folderName)

        i = i + 1

        folderName = mFso.BuildPath(docFolder, i)

    Wend

    mFso.CreateFolder (folderName)

    createExportFolder = folderName

Exit Function

err_h:

    createExportFolder = ""

End Function

Using an external component written in .Net( C# )

To use an external component written in .Net, do the following:

  1. Create a project of type ClassLibrary
  2. Add ControllerInterop.dll to the References of the project – ABBYY.FlexiCapture will appear in the References list and all the interfaces of the script objects will become available in the project.
  3. Define the disp interface and the class that implements this interface, as well as ProgId (this will make it possible to work with the .Net component just like with ActiveX from the code of the script).
  4. After building the project, register the generated types library (this can be done automatically by enabling the corresponding option in the project properties).
  5. From the export code, call the method of the component in the usual manner:

[VBScript]

dim autoExport

set autoExport = CreateObject( "ExportLibrary1.Export" )

autoExport.ExportDocument me, ExportTools

[JScript]

var autoExport = new ActiveXObject("ExportLibrary1.Export");

autoExport.ExportDocument( this, ExportTools );

Below follows the code of such a component:

using System;

using System.Runtime.InteropServices;

using System.IO;

using FlexiCaptureScriptingObjects;

namespace ExportLibrary1

{

// The interface of the export component which can be accessed from the script

// When creating a new component, generate a new GUID

[Guid("32B10C3B-EEA3-4194-B0A0-E358C310225A")]

[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]

public interface _cExport

{

[DispId(1)]

void ExportDocument(ref IExportDocument DocRef, ref IExportTools Tools);

}

// The class that implements export component functionality

// When creating a new component, generate a new GUID

// and set your ProgId

[Guid("3BA19BD7-C6DC-4f63-BC08-0D95254DADC3")]

[ClassInterface(ClassInterfaceType.None)]

[ProgId("ExportLibrary1.Export")]

[ComVisible(true)]

public class Export : _cExport

{

public Export()

{

}

// The function carries out document export: creates an export folder and

// saves in it page image files,

// the text file with document fields, and information about the document

public void ExportDocument( ref IExportDocument docRef, ref IExportTools exportTools )

{

try

{

string exportFolder = createExportFolder( docRef.TemplateName );

exportImages( docRef, exportTools, exportFolder );

// creating the text file

string fileName = exportFolder + "//" + "doc.txt";

StreamWriter sw = File.CreateText( fileName );

// exporting info about document

exportDocInfo( docRef, sw );

// exporting fields

sw.WriteLine( "Fields:" );

exportFields( docRef.Children, sw, "" );

sw.Close();

}

catch( Exception e )

{

docRef.Action.Succeeded = false;

docRef.Action.ErrorMessage = e.ToString();

}

}

// The function creates an export folder and returns a full path to this folder

private string createExportFolder( string templateName )

{

string docFolder, folderName;

// main folder

string exportFolder = "d:\\DotNetExport";

if( !Directory.Exists(exportFolder) )

{

Directory.CreateDirectory(exportFolder);

}

// the folder of the specified Document Definition

docFolder = exportFolder + "\\" + templateName;

if( !Directory.Exists(docFolder) )

{

Directory.CreateDirectory( docFolder );

}

// the folder of the exported document

int i = 1;

folderName = docFolder + "\\" + i;

while( Directory.Exists(folderName) )

{

i++;

folderName = docFolder + "\\" + i;

}

Directory.CreateDirectory(folderName);

return folderName;

}

// Image export function.

private void exportImages( IExportDocument docRef, IExportTools exportTools, string exportFolder )

{

string baseFileName = exportFolder + "\\page_";

IExportImageSavingOptions imageOptions = exportTools.NewImageSavingOptions(); ;

imageOptions.Format = "bmp";

imageOptions.ColorType = "FullColor";

imageOptions.Resolution = 100;

int i = 1;

foreach( IExportPage curPage in docRef.Pages )

{

string fileName = baseFileName + i + ".bmp";

curPage.SaveAs( fileName, imageOptions );

i++;

}

}

// Exporting info about document

private void exportDocInfo( IExportDocument docRef, StreamWriter sw )

{

sw.WriteLine( "Doc info:" );

sw.WriteLine("DocumentId " + docRef.Id );

sw.WriteLine("IsAssembled " + docRef.IsAssembled);

sw.WriteLine("IsVerified " + docRef.IsVerified);

sw.WriteLine("IsExported " + docRef.IsExported);

sw.WriteLine("ProcessingErrors " + docRef.ProcessingErrors);

sw.WriteLine("ProcessingWarnings " + docRef.ProcessingWarnings);

sw.WriteLine("TotalSymbolsCount " + docRef.TotalSymbolsCount);

sw.WriteLine("RecognizedSymbolsCount " + docRef.RecognizedSymbolsCount);

sw.WriteLine("UncertainSymbolsCount " + docRef.UncertainSymbolsCount);

sw.WriteLine();

}

// Exporting field collection

private void exportFields( IExportFields fields, StreamWriter sw, string indent )

{

foreach( IExportField curField in fields )

{

exportField( curField, sw, indent );

}

}

// Checks if the field value is null

// If the field value is invalid, any attempt to access this field (even

// to check if it is null) may cause an exception

private bool IsNullFieldValue( IExportField field )

{

try

{

return ( field.Value == null );

}

catch( Exception e )

{

return true;

}

}

// Exporting the specified field

private void exportField( IExportField field, StreamWriter sw, string indent )

{

// saving the field name

sw.Write( indent + field.Name );

// saving the field value it can be accessed

if( IsNullFieldValue( field ) )

{

sw.WriteLine();

}

else

{

sw.WriteLine( " " + field.Text );

}

if( field.Children != null )

{

// exporting child fields

exportFields( field.Children, sw, indent + " " );

}

else if( field.Items != null )

{

// exporting field instances

exportFields( field.Items, sw, indent + " " );

}

}

}

}
Export handler
This sample code demonstrates a simple export handler which saves information about exported documents and export results to text files. Two text files are used in this example: one containing the list of successfully exported documents and one containing the list of documents that returned errors during export.

[VBScript]

dim curDoc

dim fso, fileErrorName, txtErrorFile, fileSucceedName, txtSucceedFile

set fso = CreateObject("Scripting.FileSystemObject")

' creating the file with failed documents

fileErrorName = "d:\ExportResults\ErrorsDocuments.txt"

set txtErrorFile = fso.CreateTextFile( fileErrorName, true )

' creating the file with successfully exported documents

fileSucceedName = "d:\ExportResults\SucceedDocuments.txt"

set txtSucceedFile = fso.CreateTextFile( fileSucceedName, true )

dim i, exprortResult, docInfo

' iterating the collection of exported documents

for i = 0 To me.Count - 1

    set exportResult = me.Item(i)

    docInfo = "DocumentId:" & exportResult.Document.Id

    if exportResult.Succeeded then

        docInfo = docInfo & " - Exported successfully."

        txtSucceedFile.WriteLine docInfo

    else

        docInfo = docInfo & " - Export error: " & exportResult.ErrorMessage

        txtErrorFile.WriteLine docInfo

    end if

next

txtErrorFile.Close

txtSucceedFile.Close

[JScript]

var fso = new ActiveXObject("Scripting.FileSystemObject");

// creating the files with failed documents

var fileErrorName = "d:\\ExportResults\\ErrorsDocuments.txt";

var txtErrorFile = fso.CreateTextFile( fileErrorName, true );

// creating the file with successfully exported documents

var fileSucceedName = "d:\\ExportResults\\SucceedDocuments.txt"

var txtSucceedFile = fso.CreateTextFile( fileSucceedName, true );

var i

// iterating the collection of exported documents

for( i = 0; i < Documents.Count; i++ ) {

    var curDoc = Documents.Item( i );

    var docInfo = "DocumentId: " + curDoc.Id;

   if( curDoc.Action.Succeeded ) {

        docInfo = docInfo + ". Exported successfully.  Result:" + curDoc.Action.Result;

        txtSucceedFile.WriteLine( docInfo );

    } else {

        docInfo = docInfo + ". Export error: " + curDoc.Action.ErrorMessage + "  Result:" + curDoc.Action.Result;

        txtErrorFile.WriteLine( docInfo );

    }

}

txtErrorFile.Close();

txtSucceedFile.Close();


Other sample scripts

Field value assembly

Type: document assembly script

This sample code demonstrates how to assemble a document with one-page recurring section without annex pages. Pages are merged into one document in ascending order of the "PageIndex" field value.

[VBScript]

dim lastValue, pageIndex, sections, field, validPages(), validPagesSize, pageIsValid

lastValue = ""

pageIndex = 0

for i = 0 to me.Count - 1

set sections = me.Item( i ).Sections

redim validPages( 0 )

validPagesSize = 0

' Check fields in sections

for j = 0 to sections.Count - 1

if sections.Item( j ).HasField( " PageIndex " ) then

set field = sections.Item( j ).Field( " PageIndex " )

if not( field.Text = "" ) then

if lastValue = "" or field.Text > lastValue then

' Valid page order

' Mark all pages of the section as valid

for k = 0 to sections.Item( j ).Regions.Count - 1

validPagesSize = validPagesSize + 1

redim preserve validPages( validPagesSize )

validPages(validPagesSize - 1) = sections.Item( j ).Regions.Item( k ).PageIndex

next

end if

lastValue = field.Text

end if

end if

next

' Now mark all invalid pages

for j = 0 to me.Item( i ).Pages.Count - 1

pageIsValid = false

' Check if this page is valid

for k = 0 to validPagesSize - 1

if validPages(k) = j then

pageIsValid = true

exit for

end if

next

if not pageIsValid then

AssemblingErrors.AddRedundantPageError( pageIndex )

end if

pageIndex = pageIndex + 1

next

next

[JScript]

var lastValue = "";

var pageIndex = 0;

for( i = 0; i < this.Count; i++ ) {

var sections = this.Item( i ).Sections;

var validPages = new Array();

// Check fields in sections

for( j = 0; j < sections.Count; j++ ) {

if( sections.Item( j ).HasField( "PageIndex" ) ) {

var field = sections.Item( j ).Field( " PageIndex " )

if( field.Text != "" ) {

if( lastValue == "" || field.Text > lastValue ) {

// Valid page order

// Mark all pages of the section as valid

for( k = 0; k < sections.Item( j ).Regions.Count; k++ ) {

validPages.push( sections.Item( j ).Regions.Item( k ).PageIndex );

}

}

lastValue = field.Text;

}

}

}

// Now mark all invalid pages

for( j = 0; j < this.Item( i ).Pages.Count; j ++ ) {

var pageIsValid = false;

// Check if this page is valid

for( k = 0; k < validPages.length; k++ ) {

if( validPages[k] == j ) {

pageIsValid = true;

break;

}

}

if( !pageIsValid ) {

AssemblingErrors.AddRedundantPageError( pageIndex );

}

pageIndex ++;

}

}

Document merge event

Type: a handler of the Pages moved event

This sample code demonstrates how the "Pages moved" event can be transformed into the "Document merge" event. The logic of this script is as follows: if all pages of the document are moved, then this document is fully embedded into the target document.

The script is launched on the event Pages moved. The Events.OnDocumentsMerge procedure is a procedure that handles the "Document merge" event.

[VBScript]

dim currentDocument, currentDocumentPagesMoved

set currentDocument = Pages( 0 ).Document

currentDocumentPagesMoved = 0

for i = 0 to Pages.Count - 1

if Pages( i ).Document.Id <> currentDocument.Id then

' The next document

if currentDocument.Pages.Count = currentDocumentPagesMoved then

' All pages are moved from the previous document. The event is triggered.

Events.OnDocumentsMerge TargetDocument, currentDocument

end if

Set currentDocument = Pages( i ).Document

else

next

if currentDocument.Pages.Count = currentDocumentPagesMoved Then

' All pages are moved from the last document. The event is spawned.

Events.OnDocumentsMerge TargetDocument, currentDocument

end if

[JScript]

var currentDocument = Pages( 0 ).Document;

var currentDocumentPagesMoved = 0;

for( i = 0; i < Pages.Count - 1; i++ ) {

if( Pages( i ).Document.Id != currentDocument.Id ) {

// The next document

if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {

// All pages are moved from the previous document. The event is spawned.

Events.OnDocumentsMerge( TargetDocument, currentDocument );

}

currentDocument = Pages( i ).Document;

} else {

currentDocumentPagesMoved = currentDocumentPagesMoved + 1;

}

}

if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {

// All pages are moved from the last document. The event is spawned.

Events.OnDocumentsMerge( TargetDocument, currentDocument )

}

Merging document registration parameters on document merge

Type: a handler of the Document merge event

This sample code demonstates the easiest way to merge document registration parameters on document merge. When merging documents into a target document, only those parameters from new documents are added which were missing in it.

The code should be stored in a shared module. The OnDocumentsMerge procedure must called at the moment of merging documents. For details, see the description of the Document merge event.

[VBScript]

Sub MergeProperty(ByVal TargetDocument, ByVal propertyName, ByVal propertyValue)

If TargetDocument.Properties.Get(propertyName) = "" Then

' There is no such a parameter in the document.

TargetDocument.Properties.Set(propertyName, propertyValue)

End If

End Sub

Sub OnDocumentsMerge(ByVal Target, ByVal Document)

' Merging registration parameters.

For i = 0 To Document.Properties.Count - 1

MergeProperty(Target, Document.Properties(i).Name,

Document.Properties(i).Value)

Next

End Sub

[JScript]

function MergeProperty( TargetDocument, propertyName, propertyValue )

{

if( TargetDocument.Properties.Get( propertyName ) == "" ) {

// There is no such a paremeter in the document.

TargetDocument.Properties.Set( propertyName, propertyValue );

}

}

function OnDocumentsMerge( Target, Document )

{

// Merging registration parameters.

for( i = 0; i < Document.Properties.Count - 1; i++ ) {

MergeProperty( Target, Document.Properties(i).Name, Document.Properties(i).Value );

}

}


Migrating from FormReader 6.5 rules and export to FlexiCapture 10 scripts

Migrating from FormReader rules to FlexiCapture script rules

If-Then rules

Changes in functions and methods:

  1. Error(field, message). Instead of this function, use the combination of the following properties of the unit to be checked: CheckSucceeded, ErrorMessage, and FocusedField.

    For example, this FormReader 6.5 code

    if [City].IsEmpty() then Error( [City] , "the city name should be filled")

    should be changed to

    [VBScript]

    if me.Field("City").Text = "" then

    me.CheckSucceeded = false

    me.ErrorMessage = "the city name should be filled"

    me.FocusedField = me.Field("City")

    else

    me.CheckSucceeded = true

    end if

    [JScript]

    if( Field("City").Text == "" ) {

    CheckSucceeded = false;

    ErrorMessage = "the city name should be filled";

    FocusedField = Field("City");

    } else {

    CheckSucceeded = true;

    }

  2. String operations. Listed below are the instructions for implementing in FlexiCapture 10 the string operations that were available in If-Then rules.

    [VBScript]

    .Length() – Use the analogous function Len(string)

    .CmpNoCase(str) – For non-case-sensitive string comparisons, use the LCase(string) or UCase(string) functions

    .Mid(position, count) – Use the analogous function Mid(string, pos, count)

    [JScript]

    .Length() – Use the analogous length property of the string variable

    .CmpNoCase(str) – For non-case-sensitive string comparisons, use the toLowerCase() or toUpperCase() methods of the string variables

    .Mid(position, count) – Use the analogous substr(start, [length]) methods of the string variable

  3. Real number operations.

    [VBScript]

    Floor(d), Ceil(d) – There are no ready-made equivalents in VBScript, you can create your own implementation if required

    Round(d),Round(d, i) – Use the analogous function Round(d, [i])

    [JScript]

    Floor(d), Ceil(d) – Use the floor(d) and ceil(d) methods of the Math object

    Round(d) – Use the round(d) methods of the Math object

    Round(d, i) – There is no ready-made equivalent in JScript, you can create your own implementation if required.

  4. Text field operations

    IsEmpty() – Compare the text value of the field Field("fieldName").Text with an empty string

    Text() – Use Field("fieldName").Text

    Length() – Get the text value of the field and then determine the length of the resulting string value as described in 2 above.

    SetText(text) – Use Field("fieldName").Text = text

  5. Checkmark operations

    IsValid() – You can use the IsVerified property

    Value() – Field("fieldName").Value now returns a Boolean value and not 0 or 1 as in FormReader 6.5

    SetValue(newValue) – Use Field("fieldName").Value = newValue

  6. Checkmark group operations

    IsValid() – You can use the IsVerified property to determine the certainty of a field in a group. To find out how many check boxes have been selected, iterate the checkmarks in the group as shown in the example "Checkmark group check." (See Sample scripts for creating custom rules).

    Value() – To obtain the number of the selected checkmark, you can use one of the two methods below:

    1. Assign number names to the checkmarks in the group: 0, 1, etc. Then Field("groupName").Value will contain either the number of the selected checkmark or the list of numbers (more than one is selected), or an empty string (none is selected).
    2. Add to the rule only the checkmarks in the given group in the order in which they follow one another in the group. Then iterate the checkmarks in the group as shown in the example "Checkmark group check."

    Text() - Use Field("groupName").Value

    SetValue(newValue) – To change the value of a checkmark group, you need to set/reset the required checkmarks in this group. The checkmarks must be included in the rule and the ReadOnly flag must be enabled for them.

Automation rules

To be able to use in FlexiCapture 10 Automation components created in FormReader 6.5 you need to make the following changes in your Automation components.

  1. The method of an external component that implements rule logic should be called from a script rule as shown in the examples. There are no specific requirements for the signature of this method. Note, however, that the parameters passed from the script rule to the method of the external component must correspond to the selected signature of the method, which can look like this:

    Public Sub Check(ByRef docObj As Object)

    2. docObj – This is a reference to the document unit to be checked.

  2. The methods of the fieldsObj object that was used in FormReader 6.5 should be replaced with methods supported in FlexiCapture 10. The table below lists the correspondences between the old and new methods of the fieldsObj object.
fieldsObj method | Samples of code in VisualBasic that can substitute the old method
GetFieldsCount As Integer Dim count as Long

count = docObj.Fields.Count()
GetFieldsNames(Names As Variant) Dim i As Long, count As Long

Dim Names() As String

count = docObj.Fields.count

ReDim Names(count - 1)

For i = 0 To count - 1

Names(i) = docObj.Fields.Item(i).Name

Next
GetFieldsTypes(FieldTypes As Variant) | Not supported
GetFieldByIndex(Index As Integer, FieldValue As Variant) Dim fieldValue

fieldValue = docObj.Fields.Item(index).Value
GetFieldByName(Name As String, FieldValue As Variant) Dim fieldValue

fieldValue = docObj.Field(Name).Value
GetTableColumnsList(FieldIndex As Integer, TableColumns As Variant) To be able to work with table columns, add the column fields into the rule. Checking whether the column has been matched successfully is the same as for any other field:

Dim isMatched isMatched = docObj.Field("ColumnName").IsMatched

SetFieldByIndex(Index As Integer, FieldValue As Variant) | docObj.Fields.Item(index).Value = newValue
SetFieldByName(Name As String, FieldValue As Variant) | docObj.Field(Name).Value = newValue
SetTableCellValue(Index As Integer, Row As Integer, Column As Integer, FieldValue As String) To be able to work with table cells, add the column fields into the rule.

Operations with these fields depend on the level of the rule. If the rule has been created for the column level or table level, it will apply to each row and use the values of the columns in the row being checked (i.e. operates on cells):

Dim cell As Object
Set cell = docObj.Field("ColumnName")
Dim cellValue as String
cellValue = cell.Value

Thus, you can create a rule which, for example, uses the data in the first two columns of a table to complete a third column:

Dim cellResult As Object
Set cellResult = docObj.Field("ColumnResult")
cellResult.Value = docObj.Field("Column1").Value + docObj.Field("Column2").Value

If the rule has been created for the level of a unit which contains a table (group, section, document), you will need to iterate a column as described in the "Automation rule" example to access its cells.

SetSuggestByIndex(Index As Integer, Suggests As String)

Dim suggests() As Variant

' suggestions for the field

' ...

Dim field As Object

Set field = docObj.Fields.Item(index)

For i = LBound(suggests) To UBound(suggests)

field.Suggest suggests(i)

Next
SetSuggestByName(FieldName As String, Suggests As String)

Dim suggests() As Variant

' suggestions for the field

' ...

Dim field As Object

Set field = docObj.Field(Name)

For i = LBound(suggests) To UBound(suggests)

field.Suggest suggests(i)

Next
SetTableCellSuggest(Index As Integer, Row As Integer, Column As Integer, Suggests As String) Cell fields can be accessed in the same way as described for the SetTableCellValue method.

Then you will be able to work with the accessed cell just like with any other field. Setting a suggestion will look like this:

cell.Suggest cellSuggest

  3. The methods of the errorsObj object that was used in FormReader 6.5 should be replaced with methods supported in FlexiCapture 10. The table below lists the correspondences between the old and new methods of the errorsObj object.
errorsObj method Samples of code in VisualBasic that can substitute the old method
SendFieldError( ErrMsg As String, Index As Integer) docObj.ErrorMessage = ErrMsg

docObj.CheckSucceeded = false

docObj.FocusedField = docObj.Fields.Item(index)
SendTableError( ErrMsg As String, FieldIndex As Integer, ErrorCells As Variant )

docObj.ErrorMessage = ErrMsg
docObj.CheckSucceeded = false

If the rule has been created for the table or column level, the program will mark as errors all the cells in the checked row whose fields (columns) have been added into the rule. To move the focus on a particular cell, write the following code:

docObj.FocusedField = docObj.Field("ColumnName")

If the rule has been created for a higher level, the program will not mark any cells or move the focus onto them.

Migrating from FormReader Automation export to FlexiCapture script export

The method of an external component that implements rule logic should be called from a script rule as shown in the examples. There are no specific requirements for the signature of this method. Note, however, that the parameters passed from the script rule to the method of the external component must correspond to the selected signature of the method, which can look like this:

Public Sub Check(ByRef docObj As Object, ByRef exportTools As Object)

docObj – This is a reference to the document to be exported

exportTools – This is a reference to the ExportTools object

The methods of the fieldsObj object that was used in FormReader 6.5 should be replaced with methods supported by he current version of the application. The table below lists the correspondences between the methods of the fieldsObj object and the new means of working with documents to be exported:

Methods of the fieldsObj object | Possible implementations in the new object model
GetFieldsCount As
Integer 		To get the number of fields in the document that is being exported, iterate the tree of fields as shown in the example "Using an external COM component" and make the calculation.
GetFieldsNames(Names As Variant) | To get the names of the fields in the document that is being exported, iterate the tree of fields as shown in the example "Using an external COM component" and fill the array with the names of the field.
GetFieldsTypes(FieldTypes As Variant) | Not supported.
GetFieldByIndex(Index As Integer, FieldValue As Variant) Access through the index makes no sense, as the new document model has a hierarchical structure.
The tree of fields can be easily iterated as shown in the example "Using an external COM component" and fill the array with the names of the field.
GetFieldByName(Name As String, FieldValue As Variant) Dim fieldValue
fieldValue = docObj.Field(Name).Value


Scripts for processing interface events

In ABBYY FlexiCapture 10 you can use scripts to process interface events. It allows you to configure operation of the station, customize its interface, change the station behaviour under certain conditions, implement user commands, etc.

These scripts can be added for interactive workflow stages and for tools configured in the Tool Settings dialog.

All script objects are available to read and write and they are not cached.

Access rights to objects of ControllerInterop used in scripts depend on the objects state. The current document state is returned by the DocumentState() method of the ITaskWindow interface. If the document state is DS_Opened, then the ControllerInterop objects of the document are available to read and write. For other states, the objects of ControllerInterop are read-only.

Events that can be handled by using scripts and their parameters are described below.

Events
Objects

Note: When closing the station, interface changes made from scripts are not saved. All settings specified in scripts are reset to default.

Note: Web Stations do not support using scripts.


Event handlers

Program shell events, that can be handled by using scripts, are listed below:

On Activate Document
On Closing Document
On Closing Project
On Document Closed
On Field Control Activate
On Field Control Deactivate
On Open Document
On Region Change
On Region Control Draw
On Return From Task
On Project Closed
On Task Close
On Task Reject
On Task Send To Stage
On Task Window Create
On Text Field Validating
On User Command


On Activate Document

When it is launched

The script is launched prior to activating the document in the task window (by a double-click, by using menu commands, etc.).

If the CanOpen parameter is set to true, the document will be opened in the document editor after the script execution. If the CanOpen parameter is set to false, the document will not be opened.

By default, the value of the CanOpen parameter is true.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window
DocumentItem | IDocumentItem | Read/write | The document being processed
CanOpen | IBoolean | Read/write | Specifies whether to open the document


On Closing Document

When it is launched

The script is launched when the document is being closed in the document editor (when going to a new document or closing the document editor) and prior to confirmation of changes.

If the CanClose parameter is set to false, the document will remain open. If the CanClose parameter is set to true, the document will be closed after the script execution.

By default, the value of the CanClose parameter is true.

Parameters

Name | Type | Access | Description
Context | IDocumentEditor | Read/write | The document editor
CanClose | IBoolean | Read/write | Specifies whether to close the document


On Closing Project

When it is launched

The script is launched when the project is being closed and prior to showing an inquiry dialog. The inquiry box appears if the user must confirm the action before proceeding.

If the CanClose parameter is set to false, the main window will remain open. If the CanClose parameter is set to true, the main window will be closed.

By default, the value of the CanClose parameter is true.

Parameters

Name | Type | Access | Description
Context | IMainWindow | Read/write | The main window
CanClose | IBoolean | Read/write | Specifies whether to close the main window


On Document Closed

When it is launched

The script is launched after confirming the changes when closing a document in the document editor.

Parameters

Name | Type | Access | Description
Context | IDocumentEditor | Read/write | The document editor


On Field Control Activate

When it is launched

The script is launched upon activating a field.

Parameters

Name | Type | Access | Description
Context | IFieldControl | Read/write | The activated field

Note: You cannot activate a different field by this script.


On Field Control Deactivate

When it is launched

The script is launched before a field stops being active.

The field that is going to be activated next is passed to the script as an input parameter. This parameter can be changed.

Parameters

Name | Type | Access | Description
Context | IFieldControl | Read/write | The field being deactivated
WasModified | bool | Read/write | Specifies whether the field was modified
NewActiveControl | IBoxedFieldControl | Read/write | The field being activated. Note: The property has null value if the field that is going to be activated belongs to another document.


On Open Document

When it is launched

The script is launched upon opening a document in the document editor (when opening a new document window or going to a new document).

When the script is launched, all windows inside the document editor are already created.

Parameters

Name | Type | Access | Description
Context | IDocumentEditor | Read/write | The document editor

Note: Closing the document from this script is not allowed. Using the command DocumentEditor.TaskWindow.CloseEditorWindow(); will cause the error message: "System.Runtime.InteropServices.COMException (0x80004005): Document editor cannot be closed."


On Project Closed

When it is launched

The script is launched when closing the project is finished after the user confirms the action in the inquiry dialog (if it was).

Parameters

Name | Type | Access | Description
Context | IMainWindow | Read/write | The main window


On Region Change

When it is launched

The script is launched prior to modifying a region in the image window.

If the AllowChangeRegion parameter is set to true, the region will be changed after the script execution. If the AllowChangeRegion parameter is set to false, the region will not be changed.

By default, the value of the AllowChangeRegion parameter is true.

Parameters

Name | Type | Access | Description
Context | IFieldRegionControl | Read/write | The region
NewRegionParam | IShellRects | Read/write | Rectangles of the region. For tables, the whole table region is passed. Note: When changing a container of the region, a new region of this container is returned and new regions of its child elements are not returned. When changing the region of a child element, only a new region of this child element is returned. For tables, the table region is always returned, also when changing a column or row region.
AllowChangeRegion | IBoolean | Read/write | Specifies whether to change the region.


On Region Control Draw

When it is launched

The script is launched prior to redrawing the region.

If the DrawDefault parameter is set to true, drawing the region will be cancelled. If the DrawDefault parameter is set to false, the region will be redrawn.

By default, the value of the DrawDefault parameter is false.

Parameters

Name | Type | Access | Description
Context | IFieldRegionControl | Read/write | The region
DrawContext | IDrawContext | Read/write | The drawing context
DrawDefault | IBoolean | Read/write | Specifies whether to continue drawing the region


On Return From Task

When it is launched

The script is launched when processing the current task is finished after confirmation of changes.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window


On Task Close

When it is launched

The script is launched prior to closing the current task.

If the CanClose parameter is set to true, the task will be closed after the script execution. If the CanClose parameter is set to false, the task will remain open.

By default, the value of the CanClose parameter is true.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window
CanClose | IBoolean | Read/write | Specifies whether to close the task


On Task Reject

When it is launched

The script is launched prior to rejecting the task.

If the CanReject parameter is set to true, the task will be rejected after the script execution. If the CanReject parameter is set to false, the task will not be rejected.

By default, the value of the CanReject parameter is true.

Note: The event occurs only when using the Reject Task command. When closing the station the event does not occur.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window
CanReject | IBoolean | Read/write | Specifies whether to reject the task


On Task Send To Stage

When it is launched

The script is launched prior to sending the task to Exception.

If the value of the CanSend parameter is set to true, the task will be sent to Exception after the script execution. If the value of the CanSend parameter is set to false, the task will not be sent to Exception.

By default, the value of the CanSend parameter is set to true.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window
CanSend | IBoolean | Read/write | Specifies whether to send the task to Exception


On Task Window Create

When it is launched

The script is launched upon creating a task window.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window


On Task Window Mode Changed

When it is launched

The script is launched when changing the view of the task window (when the user switches to a different view mode).

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window


On Text Field Validating

When it is launched

The script is launched when the control is validating the user editing of a text field, e.g. when trying to choose the value from suggestions or when the control loses focus.

If the CanApply parameter is set to true, the user input will be validated after the script execution. If the CanApply parameter is set to false, the user editing will be undone.

By default, the value of the CanApply parameter is true.

Parameters

Name | Type | Access | Description
Context | ITextEditor | Read/write | The document field editor
CanApply | IBoolean | Read/write | Specifies whether to save changes


On User Command

When it is launched

The event occurs when calling a user command (provided that a corresponding item is added to the main menu or on the toolbar).

User commands identifiers can be represented in the form of CI_UserCommand + <nonnegative integer>.

Parameters

Name | Type | Access | Description
Context | IMainWindow | Read/write | The main window of the application
CommandId | TCommandID | Read/write | The identifier of the user command

Note: To add a user command to the main menu or on the toolbar, you must use AppendItem/InsertItem and AppendButton/InsertButton methods of the IMenu interface and the IToolbar interface respectively. The command identifiers CI_UserCommand or CI_UserCommand + <nonnegative integer> must be used.

The sample code below demonstates how to add a menu item for a user command with a command identifier CI_UserCommand + 1

ABBYY.FlexiCapture.ClientUI.TCommandID userCommand = ABBYY.FlexiCapture.ClientUI.TCommandID.CI_UserCommand;

ABBYY.FlexiCapture.ClientUI.TCommandID userCommand1 = (ABBYY.FlexiCapture.ClientUI.TCommandID) ((int)userCommand + 1);

IMenu menu = MainWindow.MainMenu[0].Submenu;

menu.AppendItem( userCommand1, “User command” );

A toolbar button or a menu item added for a user command will be disabled unless a handler of the On User Command event is added.

The sample code below demonstates processing the On User Command event.

ABBYY.FlexiCapture.ClientUI.TCommandID commandID = ( ABBYY.FlexiCapture.ClientUI.TCommandID )( CommandId );

ABBYY.FlexiCapture.ClientUI.TCommandID userCommand = ABBYY.FlexiCapture.ClientUI.TCommandID.CI_UserCommand;

ABBYY.FlexiCapture.ClientUI.TCommandID userCommand1 = (ABBYY.FlexiCapture.ClientUI.TCommandID) ((int)userCommand + 1);

if( commandID == userCommand1 ) {

<… call necessary methods here …>


Objects

This section contains the description of objects used in scripts, their properties and methods.

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
TErrorType
TSelectionType
TTaskWindowMode
TTextSize
TUserRole
TWorkWindowType


IBoolean

What it does

Passes in-out boolean values to scripts.

Properties

Name | Type | Access | Description
Value | bool | Read/write | The value

Note: To assign a value to an object of IBoolean type, you must use the Value property. For example, to assign a true value to the object A of IBoolean type, you must write A.Value = true instead of A = true.


IBoxedFieldControl

What it does

Stores the document field control.

Properties

Name | Type | Access | Description
Value | IFieldControl | Read/write | The field


IDocumentEditor

What it does

Represents the document editor.

Methods

Definition | Description
Save() : bool | Saves the document

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
Document | IDocument | Read only | The document being edited
Modified | bool | Read only | Specifies whether the document is modified
TaskWindow | ITaskWindow | Read only | The task window
ImageWindow | IImageWindow | Read only | The image window
FormWindow | IFormWindow | Read only | The form window
ErrorsWindow | IErrorsWindow | Read only | The errors window
FormMode | bool | Read/write | Specifies whether the data displaying mode is enabled


IDocumentItem

What it does

Represents a document in the documents window.

Properties

Name | Type | Access | Description
TaskWindow | ITaskWindow | Read only | The task window
TaskDocument | bool | Read only | Specifies whether the document belongs to the current task
Rect | IShellRect | Read only | The rectangle of the document in the IDocumentsWindow
Selected | bool | Read/write | Specifies whether the document is selected
Expanded | bool | Read/write | Specifies whether the document is expanded
Collection | IDocumentItems | Read only | The collection that contains the document
Document | IDocument | Read only | The document
PageItems | IPageItems | Read only | The collection of pages included in the document

Note: For the Thumbnails view mode, the Expanded property value is always true. Setting the property to false does not result in errors, but the value will remain true.

Note: If the document is collapsed, the DocumentItem.PageItems.Count property returns "0".


IDocumentItems

What it does

A collection of IDocumentItem objects. Represents documents in the documents window.


IDocumentsCollection

What it does

A collection of IDocument objects.


IDocumentsWindow

What it does

The window for displaying documents in Thumbnails View or in Details View.

Methods

Definition | Description
EnsureRectVisible( imageRect : IShellRect ) | Moves the scroll box to make the specified rectangle visible
FindDocumentItem( document : IDocument ) : IDocumentItem | Retrieves IDocumentItem by the IDocument object of ControllerInterop
FindPageItem( page : IPage ) : IPageItem | Retrieves IPageItem by the IPage object of ControllerInterop

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
ClientRect | IShellRect | Read only | The rectangle of the client area (in window coordinates). Coordinates of the left upper corner of the main window are (0, 0).
TotalRect | IShellRect | Read only | The rectangle of the whole window
ScrollPos | IPoint | Read/write | The position of the scroll box
Docking | TDockingType | Read/write | The position of IDocumentsWindow in the document editor
Ratio | IShellRational | Read/write | The ratio of the window size to the size of the parent window
TaskWindow | ITaskWindow | Read only | The task window
Items | IDocumentItems | Read only | The collection of documents
SelectedItems | IDocumentItems | Read only | Selected documents
FocusedItem | IDocumentItem | Read only | Focused documents


IDrawContext

What it does

Represents the context of drawing. Allows you to draw elementary geometric objects by using scripts. The color is specified as a sequence of four bytes: 0x00BBGGRR, where the "BB" bite represents the blue color, the "GG" bite is the green color and the "RR" bite is the green color.

Methods

Definition | Description
GetPixel( x : int, y : int ) : int | Retrieves the pixel color (in RGB) by its coordinates.
SetPixel( x : int, y : int, rgbColor : int ) : int | Sets the color (in RGB) of the pixel with specified coordinates. Returns the previous color of the pixel (in RGB).
Line( start : IPoint, end : IPoint, rgbColor : int ) | Draws a line of the specified color connecting the "start" and "end" points.
Rect( rect : IShellRect, rgbColor : int ) | Draws a rectangle with a frame of the specified color.
FillRect( rect : IShellRect, rgbColor : int ) | Draws a filled rectangle of the specified color.
FillAlphaRect( rect : IShellRect, rgbColor : int, alpha : int ) | Draws a filled rectangle with a specified level of transparency.

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle to the context (HDC)


IErrorControl

What it does

Represents an item in the IErrorsWindow list.

Methods

Definition | Description
Field( index : int ) : IField | Retrieves the field related to the error by the index of the error

Properties

Name | Type | Access | Description
Type | TErrorType | Read only | The type of the error
Error | string | Read only | The text of the error
IsWarning | bool | Read only | Specifies whether the error is a warning
FieldsCount | int | Read only | The number of fields related to the error
Index | int | Read only | The index of the error in the errors window


IErrorControls

What it does

A collection of IErrorControl objects.


IErrorsWindow

What it does

Represents the errors window.

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
DocumentWindow | IDocumentEditor | Read only | The document editor
Controls | IErrorControls | Read only | The collection of controls
FocusedControl | IErrorControl | Read/write | The error which is focused at the moment
Docking | TDockingType | Read/write | The position of IErrorsWindow relative to IFormWindow in the document editor.
Ratio | IShellRational | Read/write | The ratio of the IErrorsWindow size (which is a numerator) to the total size of IFromWindow plus IErrorsWindow windows (which is a denominator).
ShowAssemblingErrors | bool | Read/write | Specifies whether to show assembly errors
ShowRuleErrors | bool | Read/write | Specifies whether to show rule errors
ShowFormatErrors | bool | Read/write | Specifies whether to show format errors
ShowUnmatchedRegionErrors | bool | Read/write | Specifies whether to show errors associated with unmatched regions


IFieldControl

What it does

Represents a control of the document field.

Properties

Name | Type | Access | Description
Field | IField | Read only | The document field
FormWindow | IFormWindow | Read only | The form window
TextEditor | ITextEditor | Read only | The field editor. For inactive fields, null is returned.
IsExpandable | bool | Read only | Specifies whether the field is expandable. If the property is set to true, the field can be expanded and collapsed on the form.
IsExpanded | bool | Read/write | Specifies whether the field is expanded.
IsUserReadOnly | bool | Read/write | Specifies whether the field is editable. If the property is set to true, editing the field is not allowed. If the property is set to false, the possibility to edit the field depends on the Document Definition settings.
DeviceRect | IShellRect | Read only | The rectangle of the control
FieldFullName | string | Read only | The full name of the field
FieldRegionControls | IFieldRegionControls | Read only | The collection of field regions of the document. For fields, that do not have regions, null is returned.
Parent | IFieldControl | Read only | The parent control
First | IFieldControl | Read only | The first child control
Last | IFieldControl | Read only | The last child control
Prev | IFieldControl | Read only | The previous control
Next | IFieldControl | Read only | The next control


IFieldRegionControl

What it does

Represents a region of the document field.

Properties

Name | Type | Access | Description
FieldRegion | IFieldRegion | Read only | The region of a document field
Page | IPageControl | Read only | The page that contains the region
Window | IImageWindow | Read only | The image window
DeviceRect | IShellRect | Read only | The rectangle of the window
Visible | bool | Read/write | Specifies whether the region is visible
FieldControl | IFieldControl | Read only | The control of the document field which is associated with the region
Parent | IFieldRegionControl | Read only | The parent region
First | IFieldRegionControl | Read only | The first child region
Last | IFieldRegionControl | Read only | The last child region
Prev | IFieldRegionControl | Read only | The previous region
Next | IFieldRegionControl | Read only | The next region


IFieldRegionControls

What it does

A collection of IFieldRegionControl objects.


IFormWindow

What it does

Represents the form window.

Methods

Definition | Description
EnsureRectVisible( imageRect : IShellRect ) | Moves the scroll box to make the specified rectangle visible
FindControl( field : IField ) : IFieldControl | Searches for a field control using the value of the field region of ControllerInterop

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
DocumentWindow | IDocumentEditor | Read only | The document editor
Control | IFieldControl | Read only | The main control of the form
ClientRect | IShellRect | Read only | The rectangle of the client area (in window coordinates). The coordinates of the left upper corner of the main window are (0, 0).
TotalRect | IShellRect | Read only | The rectangle of the whole form. If the size of the client area is smaller than the size of the form, the form window will have scrollbars
ScrollPos | int | Read/write | The position of the scroll box
ActiveControl | IFieldControl | Read/write | The active control on the form. The value of this property cannot be modified from the On Field Control Activate and On Field Control Deactivate events.
TextSize | TTextSize | Read/write | The size of the text
Docking | TDockingType | Read/write | The position of IFormWindow relative to IImageWindow in the document editor.
Ratio | IShellRational | Read/write | The ratio of the total size of IFormWindow plus IErrorsWindow windows (which is a numerator) to the size of IDocumentEditor (a denominator). If the Docking property value is DT_Top or DT_Bottom, the ratio between the y-extents is measured. Otherwise, the ratio between the x-extents is measured.


IImageWindow

What it does

Represents the image window.

Methods

Definition | Description
EnsureRectVisible( imageRect : IShellRect ) | Moves the scroll box to make the specified rectangle visible

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
DocumentEditor | IDocumentEditor | Read only | The document editor
First | IPageControl | Read only | The first page
Last | IPageControl | Read only | The last page
ClientRect | IShellRect | Read only | The rectangle of the client area (in window coordinates). The coordinates of the left upper corner of the main window are (0, 0). If the size of the client area is smaller than the size of the TotalRect, the image window will have scrollbars.
TotalRect | IShellRect | Read only | The rectangle of the area occupied by all page images
ScrollPos | IPoint | Read/write | The position of the scroll box
Docking | TDockingType | Read/write | The position of IImageWindow relative to IFormWindow in the document editor
Ratio | IShellRational | Read/write | The ratio of the IImageWindow size (which is a numerator) to the size of IDocumentEditor (a denominator). If the Docking property value is DT_Top or DT_Bottom, the ratio between the y-extents is measured. Otherwise, the ratio between the x-extents is measured.
ShowBWImages | bool | Read/write | Specifies whether to show a black-and-white image
ImageScale | IShellRational | Read/write | The image scale. The range of admissible values is from 1/8 to 8.
ShowToolbar | IShellRational | Read/write | Specifies whether to show the toolbar
IsDocked | bool | Read/write | Specifies whether the image window is docked


IMainMenu

What it does

A collection of IMenuItem interfaces. Represents the main window menu.

For all items of this menu, the TCommandID property returns CI_SubMenu.

Methods

Definition | Description
Reset() | Resets the menu (restores the original view).

Important! After applying the Reset method the current object of IMainMenu type is destructed and a new object is generated. As a result, all references to the current object become invalid and attempts to use it will generate an exception. You must either define a new object or initilize the existing object anew.

The sample code below demonstrates applying the Reset method to an object. As a result, the menu object becomes invalid and cannot be referred to.

// Define a new IMainMenu object and initialize it

IMainMenu menu = TaskWindow.MainWindow.MainMenu;

// Call the Reset method

menu.Reset();


IMainWindow

What it does

Represents the main window.

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
MainMenu | IMainMenu | Read only | The main menu
Toolbars | IToolbars | Read only | The collection of toolbars
WorkWindowType | TWorkWindowType | Read only | The type of the working window
TaskWindow | ITaskWindow | Read only | The task window
UserRole | TUserRole | Read only | The user role
Selection | ISelection | Read only | The selection


IMenu

What it does

A collection of IMenuItem objects. Represents a menu or a submenu.

Methods

Definition | Description
Find( commandId : TCommandID ) : int | Searches for the index of the first item with a specified command identifier in the collection.
Delete( index : int ) | Deletes an item by its index in the collection.
InsertItem( index : int, commandId : TCommandID, text : string ) | Inserts an item with the specified command identifier commandId and the text of the menu item Text at the position Index. Any identifiers (including CI_SubMenu and CI_Separator) can be used, except CI_Undefined. For the CI_Separator identifier the Text parameter is ignored.
AppendItem( commandId : TCommandID, text : string ) | Appends an item with the specified command identifier commandId and the text of the menu item Text at the end of the menu. Any identifiers (including CI_SubMenu and CI_Separator) can be used, except CI_Undefined. For the CI_Separator identifier the Text parameter is ignored.


IMenuItem

What it does

Represents a menu item.

Properties

Name | Type | Access | Description
Command | TCommandID | Read only | The command identifier. For a submenu title, CI_SubMenu is returned. For a separator, CI_Separator is returned. If there is no identifier for a command among TCommandID values, CI_Undefined is returned.
Enable | bool | Read/write | Specifies whether to enable menu items. If the property is set to false, all menu items with the specified identifier (the Command property) will be disabled. If the property is set to true, enabling menu items depends on the internal logic of the program. For separators and submenu titles, the property is always true.
Text | string | Read/write | The text of the menu item. Note: The property does not allow changing text for the menu bar items: File, Edit, View, etc.
Submenu | IMenu | Read only | The submenu. If a submenu is missing, null is returned.


IPageControl

What it does

Represents a page in the image window.

Methods

Definition | Description
ImageToDevice( imageRect : IShellRect ) : IShellRect | Converts image coordinates to window coordinates

Properties

Name | Type | Access | Description
Page | IPage | Read only | The page
ImageWindow | IImageWindow | Read only | The image window
DeviceRect | IShellRect | Read only | The rectangle of the page
First | IFieldRegionControl | Read only | The first child region
Last | IFieldRegionControl | Read only | The last child region
Prev | IPageControl | Read only | The previous page
Next | IPageControl | Read only | The next page


IPageItem

What it does

Represents a page in the documents window.

Properties

Name | Type | Access | Description
TaskWindow | ITaskWindow | Read only | The task window
DeviceRect | IShellRect | Read only | The rectangle occupied by the page in the IDocumentsWindow
Selected | bool | Read/write | Specifies whether the page is selected
DocumentItem | IDocumentItem | Read only | The document that contains the page
Page | IPage | Read only | The page


IPageItems

What it does

A collection of IPageItem objects.


IPagesCollection

What it does

A collection of IPage objects.


IPoint

What it does

Represents a point.

Properties

Name | Type | Access | Description
X | int | Read/write | X-coordinate
Y | int | Read/write | Y-coordinate


ISelection

What it does

Represents the selection of documents or pages.

Properties

Name | Type | Access | Description
Type | TSelectionType | Read only | The selection type
DocumentItems | IDocumentItems | Read only | The selected documents
Documents | IDocumentsCollection | Read only | Objects of the IDocument type corresponding to the selected documents
PageItems | IPageItems | Read only | The selected pages
Pages | IPagesCollection | Read only | Objects of the IPage type corresponding to the selected pages

Note: If the document is collapsed, the DocumentItems[i].PageItems.Count property returns "0".


IShellRational

What it does

Represents a fraction.

Properties

Name | Type | Access | Description
Numerator | int | Read/write | A numerator
Denominator | int | Read/write | A denominator


IShellRect

What it does

Represents a rectangle.

Methods

Definition | Description
ToString() : string | Represents a rectangle as a string of the form "[left,top,right,bottom]"

Properties

Name | Type | Access | Description
Left | int | Read/write | Left coordinate
Right | int | Read/write | Right coordinate
Top | int | Read/write | Top coordinate
Bottom | int | Read/write | Bottom coordinate


IShellRects

What it does

A collection of IShellRect objects.


ITaskWindow

What it does

Represents the task window.

Methods

Definition | Description
DocumentState( document : IDocument ) : TDocumentState | Retrieves the document state in the task window. Note: The method cannot be invoked from a secondary thread.
OpenDocument( document : IDocument ) | Opens the document for editing from scritp. The method can be called even when the document is opened in the document editor with read-only permissions. When calling this method, the document state is changed.
CloseDocument( document : IDocument ) | Closes the document for editing from script. When calling this method, the document state is changed.
EditDocument( document : IDocument, page : IPage ) : IDocumentEditor | Opens the document in the document editor for editing. Note: If the document is opened successfully, the object of the IDocumentEditor type is returned. Otherwise null is returned. When calling this method, the document state is changed.
CloseEditorWindow() | Closes the opened document editor. Important! When closing the document editor, all unsaved changes will be lost. When calling this method, the document state is changed.

Properties

Name | Type | Access | Description
Handle | int | Read only | The handle of the window
MainWindow | IMainWindow | Read only | The main window
Batch | IBatch | Read only | The batch
Mode | TTaskWindowMode | Read/write | The view mode
DocumentsWindow | IDocumentsWindow | Read only | The documents window
EditorWindow | IDocumentEditor | Read only | The document editor


ITextEditor

What it does

Represents a document field editor.

Methods

Definition | Description
GetSelection( startPos : int, endPos : int ) | Gets the beginning and the end of the selection. If no field is selected, assigns "0" to the startPos and endPos parameters.
SetSelection( startPos : int, endPos : int ) | Sets a new selection.
ApplyChanges() : bool | Applies made changes.
ResetChanges() | Resets made changes.
ShowSuggestList() | Shows the list of suggestions, if exists. Otherwise, nothing happens.

Properties

Name | Type | Access | Description
Control | IFieldControl | Read only | The field control
Modified | bool | Read only | Specifies whether the field is modified
Text | string | Read only | The text in the field
FormWindow | IFormWindow | Read only | The form window


IToolbar

What it does

A collection of IToolbarButton objects. Represents a toolbar.

Methods

Definition | Description
Reset() | Resets all changes and restores the original view of the toolbar.
Find( commandId : TCommandID ) : int | Searches for the index of the button with a specified identifier in the collection.
Delete( Index : int ) | Deletes an item by its index in the collection.
InsertButton( index : int, commandId : TCommandID, text : string ) | Inserts a toolbar item with the command identifier commandId and the text Text in the position Index of the toolbar. Any command identifiers can be used (including CI_Separator), except CI_SubMenu and CI_Undefined. For CI_Separator, the Text parameter is ignored.
AppendButton( commandId : TCommandID, text : string ) | Appends a toolbar item with the command identifier commandId and the text Text at the end of the menu. Any command identifiers can be used (including CI_Separator), except CI_SubMenu and CI_Undefined. For CI_Separator, the Text parameter is ignored.

Properties

Name | Type | Access | Description
Type | TCommandBarType | Read only | The type of the toolbar
Name | string | Read only | The name of the toolbar
Visible | bool | Read/write | Specifies whether the toolbar is visible


IToolbarButton

What it does

Represents a toolbar button.

Properties

Name | Type | Access | Description
Command | TCommandID | Read only | The command identifier. The returned value cannot be CI_SubMenu. If there is no identifier for a command among TCommandID values, CI_Undefined is returned
Enable | bool | Read/write | Specifies whether to enable toolbar buttons. If the value is set to false, all toolbar buttons with the specified identifier (the Command property) will be disabled. If the value is set to true, enabling toolbar buttons depends on the internal logic of the program.
Visible | bool | Read/write | Specifies whether a toolbar button or a separator is visible
Text | string | Read/write | The text on the toolbar button


IToolbars

What it does

A collection of IToolbar objects.


TCommandBarType

Description

The toolbar type. Applies in the IToolbar interface.

Types:

  • CBT_Undefined = 0 - An undefined toolbar.
  • CBT_GroupVerification = 1 - A toolbar with group verification commands.
  • CBT_FieldVerification = 2 - A toolbar with field verification commands.
  • CBT_Standard = 3 - A standard toolbar.
  • CBT_Navigation = 4 - A navigation toolbar. Contains buttons such as Previous Document, Next Document, Previous Item to Verify, etc.
  • CBT_Views = 5 - A toolbar for switching between the Details View and the Thumbnails View.
  • CBT_Tasks = 6 - A toolbar with task operation tools.
  • CBT_Setup = 7 - A toolbar with basic tools for managing project. Contains buttons such as Document Definitions…, Batch Types…, Project Properties…, etc.
  • CBT_ScanAndRead = 8 - A toolbar with image operation tools (import, recognition and other operations on images).
  • CBT_UserToolbar = 9 - A toolbar added by the user when specifying skin settings for a stage.


TCommandID

Description

The command identifier.

Admissible values:

General
  • CI_SubMenu - a submenu title
  • CI_Separator - a separator
  • CI_Undefined - an undefined command identifier
File menu commands
  • CI_NewProject - New Project…
  • CI_BrowseProject - Open Project…
  • CI_BrowseWebProject - Open Project from Server…
  • CI_CloseProject - Close Project
  • CI_UploadProject - Upload Project to Server…
  • CI_Save - Save
  • CI_NewBatch - New Batch…
  • CI_LoadImage - Load Images…
  • CI_ScanImages - Scan Images…
  • CI_ImportImage - Import Images…
  • CI_Export - Export
  • CI_ExportToFile - Export Data to Files
  • CI_ExportImages - Export Images to Files
  • CI_ExportToDB - Export to Database
  • CI_RecentFiles - Open Recent Project
  • CI_Exit - Exit ABBYY FlexiCapture 10
Edit menu commands
  • CI_EditUndo - Undo
  • CI_EditRedo - Redo
  • CI_EditCut - Cut
  • CI_EditCopy - Copy
  • CI_EditPaste - Paste
  • CI_EditClear - Delete
  • CI_MergeDocuments - Merge Documents
  • CI_SplitDocuments - Split Document
  • CI_EditSelectAll - Select All
  • CI_EditFind - Find…
  • CI_EditFindNext - Find Next
  • CI_MoveToNextItem - Next Document
  • CI_MoveToPreviousItem - Previous Document
  • CI_ImageClean - Despeckle Image
  • CI_ImageInvert - Invert Image
  • CI_ImageMirrorHorizontal - Flip Horizontally
  • CI_ImageMirrorVertical - Flip Vertically
  • CI_ImageRotate90 - Rotate 90° Clockwise
  • CI_ImageRotate270 - Rotate 90° Counter-ClockWise
  • CI_ImageRotate180 - Rotate 180°
  • CI_ImageChangeResolution - Change Resolution
  • CI_ExportImage - Save Image

Additional commands for a remote Verification station (Field verification):

  • CI_EditDeleteAll - Delete All Characters
  • CI_EditInsertLineBreak - Insert Line Break
  • CI_VerificationMergeSymbols - Merge Characters
View menu commands
  • CI_ShowTestBatches - Show Test Batches
  • CI_ShowWorkBatches - Show Batches
  • CI_ShowQueues - Show Queues
  • CI_ShowDetails - Show Details
  • CI_ShowThumbnails - Show Thumbnails
  • CI_SetupDetailsView - Choose Details to View
  • CI_DocModeImage - Document Editor in Image Mode
  • CI_DocModeForm - Document Editor in Data Mode
  • CI_DockImageOnTop - Image at Top of Document Editor
  • CI_DockImageOnBottom - Image at Bottom of Document Editor
  • CI_DocImageOnLeft - Image at Left of Document Editor
  • CI_DocImageOnRight - Image at Right of Document Editor
  • CI_DocImageUndocked - Undocked
  • CI_DocErrorsOnTop - Errors at Top of Document Editor
  • CI_DocErrorsOnBottom - Errors at Bottom of Document Editor
  • CI_DocErrorsOnLeft - Errors at Left of Document Editor
  • CI_DocErrorsOnRight - Errors at Right of Document Editor
  • CI_ImageScalePageWidth - Fit Image to Width
  • CI_ImageScalePageHeight - Fit Image to Height
  • CI_ImageScaleWholePage - Best Image Fit
  • CI_ImageScale400 - Scale Image to 400%
  • CI_ImageScale200 - Scale Image to 200%
  • CI_ImageScale100 - Scale Image to 100%
  • CI_ImageScale75 - Scale Image to 75%
  • CI_ImageScale50 - Scale Image to 50%
  • CI_ImageScale25 - Scale Image to 25%
  • CI_ImageScaleCustom - Custom Image Scale
  • CI_ImageScaleZoomIn - Zoom Image In
  • CI_ImageScaleZoomOut - Zoom Image Out
  • CI_TextSizeLargest - Largest Data Text
  • CI_TextSizeLarger - Larger Data Text
  • CI_TextSizeMedium - Medium Data Text
  • CI_TextSizeSmaller - Smaller Data Text
  • CI_TextSizeSmallest - Smallest Data Text
  • CI_ViewToolbarsLayout - Show Toolbar in Document Editor
  • CI_ShowFormatErrorInBallon - Show Format Errors in Ballon
  • CI_ShowFormatErrorInErrorView - Show Format Errors at the Top
  • CI_ShowFormatErrorInFormView - Show Format Errors at the Bottom
  • CI_BWImageMode - Show Images in Black and White
  • CI_ThumbnailSizeSmallest - Smallest Thumbnail Size
  • CI_ThumbnailSizeDefault - Default Thumbnail Size
  • CI_ThumbnailSizeLargest - Largest Thumbnail Size
  • CI_ThumbnailSizeIncrease - Increase Thumbnail Size
  • CI_ThumbnailSizeDecrease - Decrease Thumbnail Size
  • CI_ViewToolbarsStandard - Show/Hide Standart Toolbar
  • CI_ViewToolbarsDocuments - Show/Hide View Toolbar
  • CI_ViewToolbarsNavigation - Show/Hide Navigation Toolbar
  • CI_ViewToolbarsScanAndRead - Show/Hide Scanning Toolbar
  • CI_ViewToolbarsProjectSetup - Show/Hide Project Setup Toolbar
  • CI_ViewToolbarsTasks - Show/Hide Queues Tasks Toolbar
  • CI_ShowToolbar1 - Show Toolbars
  • CI_ViewStatusbar - Show/Hide Statusbar
  • CI_ViewFullScreen - Switch to Full Screen/Window
  • CI_Refresh - Refresh
  • CI_ViewProperties - Show Properties

Additional commands for a remote Verification station (Group verification):

  • CI_ShowFieldImage - Show/Hide Field Image
  • CI_ShowFieldImageOnTop - Show Field Image on Top
  • CI_ShowFieldImageOnBottom - Show Field Image on Bottom
  • CI_ShrinkToFit - Shrink Field Image to Fit
  • CI_ContextImageScale400 - Scale Field Image 400%
  • CI_ContextImageScale200 - Scale Field Image 200%
  • CI_ContextImageScale150 - Scale Field Image 150%
  • CI_ContextImageScale100 - Scale Field Image 100%
  • CI_ContextImageScale75 - Scale Field Image 75%
  • CI_ContextImageScale50 - Scale Field Image 50%
  • CI_ShowCharacterImage - Show Character Image
  • CI_ShowActionsToolBar - Show/Hide Actions Toolbar
  • CI_ShowVerInfoBar - Show/Hide Verification Info Bar
  • CI_VerificationOptions - Show Verification Preferences

Additional commands for a remote Verification station (Field verification):

  • CI_ShowRecognizedText - Show Recognized Text
  • CI_ShowSymbolImagesCutting - Show/Hide Character Images Cutting
  • CI_ShowSpecialSymbols - Show/Hide Special Characters
  • CI_ShowAnalogousFields - Show/Hide Analogous Field
Task menu commands
  • CI_GetTask - Get Task
  • CI_ReturnTask - Close Task
  • CI_ShowTaskComment - Show Task Comment
  • CI_CancelTask - Reject Task
  • CI_DeferTask - Postpone Task
  • CI_SendTaskToException - Send Task to Exception
  • CI_SendTaskToRescan - Send Task to Rescan
  • CI_SendTaskToStage - Send Task to Stage
  • CI_AutoTaskReceive - Automatic Task Receive On/Off
  • CI_AddDocsToMarked - Add Documents to Marked
  • CI_UnmarksDocs - Unmark Documents
  • CI_MarkDocsToException - Mark Documents to Exception
  • CI_MarkDocsToRescan -Mark Documents to Rescanning
  • CI_MarkDocsToStage - Mark Documents to Stage
  • CI_ViewMarkedGroupList - View Marked Groups List
Recognition menu commands
  • CI_ApplyTemplate - Analyze
  • CI_SetDocTemplate - Match Document Definition
  • CI_ReadActive - Recognize
Verification menu commands
  • CI_VerifyAll - Run Verification
  • CI_GotoNextError - Next Item to Verify
  • CI_GotoPrevError - Previous Item to Verify
  • CI_GotoNextAssembleError - Next Document with Assembly Error(s)
  • CI_GotoPrevAssembleError - Previous Document with Assembly Error(s)
  • CI_GotoNextUnkCharacher - Next Uncertain Character
  • CI_GotoPrevUnkCharacher - Previous Uncertain Character
  • CI_GotoNextRuleError - Next Rule Error
  • CI_GotoPrevRuleError - Previous Rule Error

Additional commands for a remote Verification station (Group verification):

  • CI_VerificationConfirmAll - Confirm All
  • CI_VerificationPostponeAll - Postpone All
  • CI_VerificationToggleSelected - Toggle Selected Item
  • CI_VerificationNextPage - Next Verification Page
  • CI_VerificationPrevPage - Previous Verification Page
  • CI_VerificationClose - Close Verification

Additional commands for a remote Verification station (Field verification):

  • CI_VerificationConfirmField - Confirm Field
  • CI_VerificationNextUncertain - Next Uncertain Character
  • CI_VerificationPrevUncertain - Previous Unsertain Character
  • CI_VerificationNextField - Next Field
  • CI_VerificationPrevField - Previous Field
Project menu commands
  • CI_ShowTemplatesList - Show Document Definitions List
  • CI_ShowBatchTypes - Show Batch Types List
  • CI_ShowImportProfiles - Show Import Profiles List
  • CI_SwitchToAdminMode - Switch to Admin Mode
  • CI_ProtectProject - Protect Project with Password
  • CI_UnprotectProject - Unprotect Project
  • CI_ExportProject - Export Project
  • CI_ImportProject - Update Project
  • CI_ViewProjectProperties - Show Project Properties
  • CI_CreateTestCopy - Create Test Copy
  • CI_CommitTestCopy - Commit Test Copy
  • CI_DeleteTestCopy - Delete Test Copy
Tools menu commands
  • CI_DocPriorityLowest - Set Lowest Document Priority
  • CI_DocPriorityLow - Set Low Document Priority
  • CI_DocPriorityNormal - Set Normal Document Priority
  • CI_DocPriorityHigh - Set High Document Priority
  • CI_DocPriorityHighest - Set Highest Document Priority
  • CI_UpdateDocToLatestVersion - Update Documents to Latest Version of Project
  • CI_Reanalize - Re-Analyze
  • CI_Reread - Re-Recognize
  • CI_AssembleDocuments - Refresh Documents Assembly
  • CI_RecheckRules - Re-check Rules
  • CI_CheckBatchIntegrity - Check Batch Integrity
  • CI_BatchPriorityLowest - Set Lowest Batch Priority
  • CI_BatchPriorityLow - Set Low Batch Priority
  • CI_BatchPriorityNormal - Set Normal Batch Priority
  • CI_BatchPriorityHigh - Set High Batch Priority
  • CI_BatchPriorityHighest - Set Highest Batch Priority
  • CI_ChangeBatchType - Change Batch Type
  • CI_ViewOptions - Show Options
Commands of the field local menu
  • CI_ExecuteCustomAction - Execute Custom Action
User commands
  • CI_UserCommand - User commands
Help menu commands
  • CI_HelpAbbyyWebSite - ABBYY Web-site
  • CI_HelpAbout - About ABBYY FlexiCapture
  • CI_HelpContent - Help Topics
  • CI_HelpPurchaseInfo - How to Buy ABBYY Products
  • CI_HelpSendFeedback - Send Feedback…
  • CI_HelpTechSupport - Technical Support


TDockingType

Description

The side of the principal window adjacent to the given window.

Admissible values:

  • DT_Undefined = 0 - The side is undefined or the windows are not adjacent.
  • DT_Left = 1 - The left side.
  • DT_Right = 2 - The right side.
  • DT_Top = 3 - The upper side.
  • DT_Bottom = 4 - The lower side.


TDocumentState

Description

The document state in the task window. Applies in the ITaskWindow interface.

Admissible values:

  • DS_Locked = 0 - The document is locked. No actions on the document are allowed.
  • DS_Edited =1 - The document is being edited in the document editor.
  • DS_Closed = 2 - The document is closed. It can be both opened and edited.
  • DS_Opened = 3 - The document is opened. It can be edited by using a script.
  • DS_EditedAndOpened = 4 - The document is being edited in the document editor and can be edited by using a script.
  • DS_EditedAndLocked = 5 - The document is opened in the document editor and locked from any actions.


TErrorType

Description

The type of an error. Applies in the IErrorControl interface.

Admissible values:

  • ET_Assembling = 0 - The assembly error
  • ET_Rule =1 - The rule error
  • ET_Format = 2 - The format error


TSelectionType

Description

Types of selection. Applies in the ISelection interface.

Admissible values:

  • ST_Undefined = 0 - Selection is undefined
  • ST_Documents = 1 - Selected documents
  • ST_Pages = 2 - Selected pages


TTaskWindowMode

Description

View modes. Applies in the ITaskWindow interface.

Admissible values:

  • TWM_Undefinied = 0 - View is undefined.
  • TWM_ListView = 1 - Details view.
  • TWM_ThumbnailView = 2 - Thumbnails view.


TTextSize

Description

The text size. Applies in the IFormWindow interface.

Admissible values:

  • TS_Undefined = 0 - Text size is undefined.
  • TS_Smallest = 1 - The smallest text size.
  • TS_Smaller = 2 - Small text size.
  • TS_Medium = 3 - Medium text size.
  • TS_Larger = 4 - Large text size.
  • TS_Largest = 5 - The largest text size.


TUserRole

Description

The role of the user. Applies in the IMainWindow interface.

Admissible values:

  • UR_Undefined = 0 - The role is undefined
  • UR_VerificationOperator =1 - The verification operator
  • UR_SeniorVerificationOperator = 2 - The senior verification operator


TWorkWindowType

Description

Types of working windows.

Types:

  • WWT_Undefined = 0 - The window type is undefined.
  • WWT_Task = 1 - The task window.


Creating a Machine-Readable Form

Questionnaires, social security forms, polling slips, and warranty cards are all different types of form used to collect different types of information.

How do forms differ from other types of document?

  1. A form always contains a set number of fields.
  2. Each field may contain only a certain type of information, e.g. a "Last Name" field contains only last names (if completed correctly) and a "Date" field contains only dates.

Forms are used when information needs to be gathered from a large number of respondents. Manual information gathering is a long and tiresome process and typos and errors are almost inevitable. Machine-readable forms are used to automate this process.

Automated forms processing consists of the following stages:

  1. Setting up the form-processing application (creating a Document Definition and specifying the fields to be recognized).
  2. Acquiring form images (scanning).
  3. Processing the form images (recognizing the images and validating the extracted data).
  4. Exporting the extracted data to an external information system.

Automated processing of forms is most effective for forms that satisfy the requirements discussed in this chapter.

Machine-Readable Forms
Elements of Machine-Readable Forms
Form Completion Methods
Types of Machine-Readable Form
Choosing the Right Type of Form
General Requirements for Machine-Readable Forms


Machine-Readable Forms

To read information on forms, a form-processing application has to:

  1. Determine the location of form elements.
  2. Separate field contents from field borders, text marking, backgrounds, explanatory text, etc.

Machine-readable forms enable the program to carry out these tasks.

For the first task to be carried out successfully, the forms must correspond to the form pattern or Document Definition, i.e. the location of all form elements must be identical on all forms of the same type.

For the second task to be carried out successfully, the forms must be designed with automated input in mind, i.e. so that the program can easily distinguish between the data to be captured and such non-recognizable form elements as field borders, text marking, backgrounds, or explanatory text.


Elements of Machine-Readable Forms

The following elements may be present on a form:

Text
Entry Field
Checkmark Field
Checkmark Group
Anchor
Line Separator
Form Identifier
Picture
Table
Group of Elements


Creating a Machine-Readable Form/Text

Text

Text is an element of a machine-readable form that contains descriptive text: form title, field names, explanations, etc.


Creating a Machine-Readable Form/Entry Field

Entry Field

An entry field is an element of a machine-readable form into which text is entered by the person completing the form. To facilitate text entry, entry fields may contain special text marking. Entry fields are usually accompanied by text describing or explaining the nature of the data to be entered.

Show me an entry field

Possible text marking types are listed in the table below.

Text over a Line | Text is entered over a line.
Letters in Frames | Letters are entered into conjoined frames.
Letters in Separate Frames | Letters are entered into isolated frames.
Letters on a Comb | Letters are entered over a comb.
Text in a Frame | Text is entered in a frame.
Text in a Frame with a Comb | Text is entered in a frame with a comb.


Creating a Machine-Readable Form/Checkmark Field

Checkmark Field

A checkmark field is an element of a machine-readable form (usually a square called a "check box") in which a mark should be made by the person who completes the form.

A checkmark field usually has an accompanying text which explains the use of the checkmark.

Show me a checkmark field

Possible shapes of checkmark fields are shown in the table below

Square
Circle
Underline

Other shapes are also possible, e.g. polygons, ovals, etc.


Creating a Machine-Readable Form/Checkmark Group

Checkmark Group

A checkmark group is an element of a machine-readable form that unites several checkmark fields of which only one must be checked. Checkmark groups are usually accompanied by explanatory text that explains the type of choice to be made.

Show me a checkmark group


Anchor

An anchor is an element of a machine-readable form that is used to facilitate the matching of form images with Document Definitions and to determine the orientation of forms during automated processing.

Before the program can start recognizing the contents of the form, it must match the form with its Document Definition. All machine-readable forms of the same type must conform to one Document Definition, i.e. the location of all form elements must be exactly the same on all forms. The program will attempt to match the form with its Document Definition according to the number and location of the anchors on the form. If the program manages to match the anchors on the form with the anchors on the Document Definition, it will know exactly where to look for fields containing data to be recognized.

Standard anchors are listed in the table below.

Black Square
Corner
Cross
Timing Mark
For the best possible recognition results, it is advisable to have standard anchors on the form, but in some cases line separators, explanatory text or barcodes can also be used as anchors. However, standard anchors are more reliable and should always be your first choice.


Creating a Machine-Readable Form/Line Separator

Line Separator

A line separator is an element of a machine-readable form in the shape of a vertical or horizontal black line.

Line separators are used to partition forms into several logical segments.


Creating a Machine-Readable Form/Form Identifier

Form Identifier

A form identifier is an element of a machine-readable form used to select the correct Document Definition if several Document Definitions have the same arrangement of anchors.

We recommend using barcodes as form identifiers.

A barcode is a set of vertical black and white lines of differing widths used to encode information.

Show me a barcode

Other elements on the form can also be used as form identifiers.


Creating a Machine-Readable Form/Picture

Picture

A picture is an element of a machine-readable form that should not be recognized and should be exported as an image file.

For example, the part of the form where a stamp or signature should be put is a picture.


Table

A table contains columns with same-type elements.

Table columns can contain elements of the following types:

  • text
  • entry field
  • date
  • number
  • checkmark

A table can contain a line with column headers.


Group of elements

Group of elements – an element of a machine-readable form that serves to combine several logically linked elements in a group.


Form Completion Methods

A form may be completed in one of the following ways:

  • By hand

  • Using a dot-matrix printer

  • Using a typewriter

  • At a printing shop (this includes forms completed using inkjet or laser printers with a resolution of no less than 300 dpi)

  • Using a combination of the above


Types of Machine-Readable Form

Machine-readable forms are designed for automated data input, i.e. the program should be able to easily distinguish between the data to be captured and the non-recognizable form elements, such as field borders, text marking, backgrounds, or explanatory text.

This can be achieved in one of two ways:

  1. The form must be designed in such a way as to make the field borders, background and text marking disappear after scanning, or

  2. The form must be designed in such a way as to make the field borders, background and text marking stand out clearly after scanning.

If the first approach is used, only the anchors, explanatory text, and entered data will remain on the form after scanning. As a result, the program will not have to separate the data from form elements, which will make recognition more easy and reliable.

In this case, the following types of forms are used: color dropout forms, black-and-white forms with raster backgrounds, black-and-white forms with raster borders, and black-and-white linear forms.

If the second approach is used, the anchors, explanatory text, entered data, as well as text marking and field borders will remain on the form after scanning. The program will look for information that is surrounded by field borders and text marking. If these form elements are missing, recognition quality will be adversely affected.
In this case, black-and-white linear forms are used.


Dropout Forms

Dropout forms have a light color background with white rectangles serving as character cells, checkmark fields, etc.

Gray dropout forms, whose background is gray, are an example.

Color dropout forms include forms on which only element borders are colored.

A character cell is a small rectangle into which only one character should be entered (e.g. a letter or a digit). The color of the background is very important because it must disappear during scanning. The background is usually light red-orange or green. For the list of recommended colors, see Recommended Colors for Dropout Forms.

Show me a dropout form

Ideally, all form elements, with the exception of the anchors, should disappear during scanning, leaving only the field contents to be recognized on the form image.

Explanatory text can be either retained (if printed in black) or filtered out together with the background. For explanatory text to disappear during scanning, it must be printed in the same color as the form's background but with greater saturation.

When deciding whether to print explanatory text in black or in background color, the following should be taken into account:

  • The size of the image file will be bigger if the explanatory text is retained.

  • There should be at least 1.5-2 mm of space between the explanatory text printed in black and other elements on the form. The gap between the explanatory text and the corresponding checkmark field must not be less than 2/3 of the size of the checkmark field. If the explanatory text is printed in background color, spaces between the text and other form elements are not so crucial.

Forms with explanatory text printed in black are more legible. We recommend printing explanatory text in black, especially if there are no anchors on the form.

Tip
When creating a Document Definition for a form with explanatory text printed in background color, be sure to scan the form in color or in grayscale mode to make the explanatory text and elements on the form clearly visible.

Dropout forms must be scanned using a color lamp or filter. The color of the lamp is selected depending on the color of the background.

Forms with red or green backgrounds must be scanned either on a:

  • Color scanner, using color filtering software
  • Non-color scanner, using a red or green lamp (hardware color filtering)
  • Non-color scanning, using a white lamp and a red or green filter (filtering quality in this case is much lower, as the background may not disappear completely, or field contents may be inadvertently removed), or
  • Non-color scanner, using a white lamp without any filters
    When scanning with a white lamp, some lighter backgrounds can be removed without filtering: the weak saturation of the background will ensure its disappearance during scanning. In this case, the color and saturation of the background must be selected by trial-and-error for each particular scanner.

Note: Many color scanners also have software filtering used to filter out blue colors. However, we do not recommend using shades of blue on your forms, as forms are likely to be completed using not only black but also blue ink. Field contents written in blue ink will disappear.

Choosing the right color

Red-orange colors are preferable to green because they represent the greatest possible contrast to blue, which results in better scanning and recognition quality if the forms are completed using blue ink.

In Recommended Colors for Dropout Forms You will find the recommended colors for form processing, i.e. those most likely to disappear during scanning with almost any scanner. A "dropout" color list for a particular scanner (in Pantone or any other format) can also be obtained from your scanner manufacturer/dealer.


Black-and-White Forms with Raster Background

Black-and-White Forms with Raster Backgrounds

Fields on such forms are simply white spaces (usually rectangles) on a raster background. The background is made up of individual dots. The recommended size of the dots is no more than 0.1 mm, with the distance between each dot about 1 mm. The size of the dots and distance between the dots are crucial, because a raster background is removed during despeckling rather than during scanning: the program will treat the dots as garbage and remove them. The dots should therefore not be glued together on scanned images.


Black-and-White Forms with Raster Borders

These forms have no background. All field borders (borders of character cells, checkmark fields and other form elements) are made up of raster lines, i.e. sequences of small black dots. Raster dot size is usually 0.39-0.5 pt. The recommended size is 0.39 pt, with the distance between the raster dots being at least five times greater than the dot size. The size of the dots and distance between them are crucial, because a raster background is removed during despeckling rather than during scanning: the program will treat the dots as garbage and remove them. The dots should therefore not be glued together on scanned images.


Black-and-White Linear Forms

These forms usually have no background. All field borders (character cells, checkmark fields and other form elements) are made up of solid black lines. Field borders do not disappear as a result of scanning or despeckling.

Note: Forms of this type must be completed very neatly. If the forms are completed carelessly, letters may overlap the field borders, thus reducing recognition quality. This is because whenever the field content overlaps the field borders, it is extremely difficult for the application to separate the borders from the text. Ideally, the entered text should not touch the field borders.


Choosing the Right Type of Form

In addition to the design and processing requirements for each type of form, other criteria also need to be taken into consideration when choosing a form type. These include printing costs and methods, the number of copies required, the resulting image size, scanning modes, the required degree of recognition accuracy, form processing speed, overall appearance of the forms, how neatly they will be completed, etc. The table below summarizes the advantages and disadvantages of each form type.

Criteria | Dropout Form |  | Black-and-White Raster Form |  | Black-and-White Linear Form
 | Disadvantage | Advantage | Disadvantage | Advantage | Disadvantage | Advantage
Design Complexity |  | Easy to design using any graphics editor. | Text editors offer limited tools for designing this type of form. The size of raster dots is crucial. |  |  | Easy to design using any graphics editor
Printing | Difficult to print large quantities of good quality forms in-house. |  |  | Easy to print in-house. |  | Easy to print in-house.
Printing Costs | If professional printing services are used, printing costs are higher compared with black-and- white forms. |  |  | If professional printing services are used, printing costs are lower compared with dropout forms. |  | If professional printing services are used, printing costs are lower compared with dropout forms
Image Size |  | Image file sizes are smaller. | Image file sizes are larger. |  | Image file sizes are larger. |
Scanning Mode | Only special scanning modes (color filtering) may be used. |  | Limited range of brightness and contrast settings. |  | Limited range of brightness and contrast settings. |
Processing Speed |  | Higher average processing speed. | Average processing time is longer, because the images need to be despeckled. |  | Errors are more likely if characters are glued together or overlap field borders. |
Recognition Quality |  | Very high recognition quality. |  | High recognition quality. | Recognition quality largely depends on how neatly the form has been filled out. | High recognition quality if the form has been filled out correctly.
Location of explanatory text |  | Explanatory text may be placed anywhere, including inside fields (as long it is printed using the same color as the form background). | Explanatory text and other form elements must be carefully arranged on the form. |  | Explanatory text and other form elements must be carefully arranged on the form. |
Form Appearance and Legibility | Low contrast settings of background and explanatory text may adversely affect form legibility. | Aesthetically pleasing | Less eye-catching design. Lower legibility. |  | Less eye-catching design. | Good legibility.
Neatness of Completion |  | Less sensitive to text overlapping field borders. | Small characters must be written very carefully and be large enough not to be removed as garbage. | Less sensitive to text overlapping field borders. | Very sensitive to text overlapping field borders. |


General Requirements for Machine-Readable Forms

Let us now consider the general requirements a form must meet in order to be machine-readable.

Form Background Requirements
Anchor Requirements
Checkmark Field Requirements
Text Marking Requirements
Element Positioning Requirements
Print Quality Requirements
Form Completion Requirements


Form Background Requirements

  1. Use dropout forms or forms with raster field borders if possible.
  2. Use a color that vanishes during scanning when creating a dropout form. See the list of recommended colors in Recommended Colors for Dropout Forms.
  3. Always ensure that a there is a space between the explanatory text and the field contents. In the case of dropout forms we recommend that any information be printed in the same color as the form background (except where explanatory text is used as an anchor instead of or in conjunction with black squares). By printing information in the same color as the background, you are then free to place it anywhere on the form, including inside the form fields.
  4. Do not use blue colors for forms which are to be completed by hand. The blue background may merge with the blue ink which is likely to be used to complete the forms. This will adversely affect recognition quality.


Anchor Requirements

  1. Standard anchors are recommended for use on machine-readable forms (i.e. black squares, corners, crosses). The recommended number of anchors is five: four anchors in each corner of the form (they should form a rectangle if imaginary lines are drawn between each pair) and one square on one of the sides of the imaginary rectangle.
  2. If, for some reason, standard anchors cannot be used, we recommend that the following combinations of elements be used as anchors:
    a) at least two vertical line separators and two horizontal line separators
    b) at least four text elements and one form identifier element
    c) other combinations are also possible
  3. The distance between the edge of an anchor and the nearest form element should not be less than 3 mm.
  4. The distance between an anchor and the edge of the page should not be less than 8 mm.
  5. Anchors should be printed using a dark color (black is recommended) so that they do not disappear during scanning.

In addition to the general requirements listed above, each anchor type has its own specific requirements:

Requirements for Black Squares

Black squares on the same form type should all be of the same size i.e. between 4х4 mm and 8х8 mm. The recommended size is 5х5 mm. Rectangles are not permitted.

Requirements for Crosses and Corners

  1. The size of an imaginary square that could be drawn around an anchor of this type must be between 4x4 and 8x8 mm. The recommended size is 5x5 mm.
  2. The size of anchors of one type must be the same within one form.
  3. All the sides of an anchor must be of equal size.
  4. The line thickness used for anchors on the same form must be the same and be within the range from 0.3 to 1 mm. The recommended thickness is 0.5 mm.

Requirements for Text (if used as anchors)

The font size should not be less than 7 pt (headers – no less than 14 pt).

Requirements for Line Separators (if used as anchors)

Line thickness should not be less than 1 pt. The recommended thickness is 1-1.5 pt.

Requirements for Barcodes (if used as anchors)

  1. The barcode width (the distance between the leftmost and the rightmost bars) should not be less than 47-50 mm.
  2. The barcode height should not be less than 12-15 mm (digits not included).
  3. The barcode orientation (direction of the bars) should be the same as the page orientation (it is recommended to scan the pages in the direction of the bars).
  4. The EAN 13 barcode format is recommended.
  5. The recommended distance between a barcode and any other form element is no less than 10 mm.


Checkmark Field Requirements

  1. The recommended field sizes are 3.5x3.5 mm, 4x4 mm, 4.5x4.5 mm, or 5x5 mm (if circular checkmark fields are used, they must fit into squares of recommended sizes).
  2. The recommended line width for checkmark field borders is 0.4 mm (irrespective of the size of the field).


Text Marking Requirements

Raster dot size:

  1. If the field borders are raster dots, the thickness of the raster line (i.e. the raster size) must be 0.39 pt.

  2. The optimal distance between the raster dots is five times their size.

    Important! The dots most likely to be glued together are dots in the corners of character cells.

Tip
If your software does not allow you to specify the distance between each raster dot, you must choose a line style which has dots located at sufficient distance from each other to prevent them from becoming glued together on the scanned image, and from remaining on the image after image despeckling. This is because big dots are not interpreted by the OCR system as garbage and are not removed from the image during despeckling.

Character cell size:

  1. The recommended size of character cells is 4х5 mm; the use of smaller sizes requires a greater degree of accuracy from those completing the form, and this is very difficult to achieve. Large character cells are also not advisable as this encourages the use of abnormally large letters. Ideally, the character cell size should reflect the average letter size.
  2. The distance between field lines should be no less than 2.5 – 3 mm, and the distance between two adjacent character cells in the same line should be no less than 1-1.2 mm.
Show me character cells

Line thickness:

  1. If the borders are black lines ("text in a frame", "letters in separate frames", or "letters in frames"), the line thickness should be 1 pt.
Show me black line borders

Combs:

  1. The recommended distance between the notches in a comb is 5 mm.
  2. The distance between the horizontal lines of two combs, when positioned one below the other, should be no less than 7.5 – 8 mm.
  3. The notch height must be around 0.9 – 1.2 mm.
  4. The thickness of both the notches and horizontal lines should be 1 pt.
  5. If frames with a comb are used, the minimum distance between frames should be 2.5 – 3 mm.
Show me a comb


Element Positioning Requirements

  1. Be sure to provide sufficient margins on your form, otherwise form elements located too close to the sides of the form may disappear during scanning, causing loss of data.
  2. The space between neighboring form elements should not be less than 2 mm.
  3. The space between a checkmark field and explanatory text should not be less than 2/3 of the checkmark field size.
  4. Make sure that the explanatory text does not overlap entry field borders.
  5. If explanatory text is printed in black ink, make sure there is a gap of at least 1.5-2 mm between the explanatory text and the other elements. This distance is not so crucial for explanatory text printed in the same ink as the background.


Print Quality Requirements

When you print blank forms, keep in mind the following requirements:

  1. The forms must be printed either professionally or using a printer. We recommend that color forms be printed professionally. If this is impossible, test the form color on a scanner before starting your print run.
  2. All the copies of the form must be printed using the same source document, as the field location on each form must be identical.
  3. The minimum margin size (i.e. the distance between the edge of the page and the nearest form element) should be at least 8 mm (12 mm margins are recommended).
  4. The permitted linear deviation of form elements is no more than 0.15% ( i.e. 0.5 mm for an A4-size page).
  5. If you print your forms using a printer, do not print them with a resolution less than 600 dpi.
  6. We recommend printing the forms with the help of the same scanner or different scanners of the same model.

Tip: We do not recommend copying machine-readable forms using copying equipment. Use of such equipment can slightly change dimensions of elements on the form or their arrangement, for example, table or entry fields borders may become thicker, or color depth may change, which might be detrimental to recognition quality.


Form Completion Requirements

Pens and ink

Forms are best completed neatly, in capital letters, using a black ball-point, gel or capillary pen (dark blue and violet are also acceptable). Soft-tip/felt-tip pens are not to be recommended as characters are likely to be very thick, causing recognition problems. Recognition is worst in the case of forms completed by pencil or using a light ink.

Letter size and style

For best recognition results, forms should be completed in block capital letters. The letters must fill out all character cells but must not overlap cell borders.

If character cells are visually marked on the forms (i.e. the following text marking types are used: letters in frames, letters in separate frames), the person filling out the form will be less likely to join the letters together.

The following text marking types present greater problems for recognition: text in a frame with a comb, letters on a comb. Here only the width of the character cell is predefined, while the absence of side borders makes joining letters together possible. In the case of the comb without a frame, the letters can be written either too small or too large.

If text in a frame or text over a line are used, there is no evident restriction on the width of the character cells. The letters may be joined together, which will have an adverse effect on recognition quality. In the case of text over a line there are no restrictions on character height. Therefore this marking type is not recommended for forms requiring a high degree of recognition accuracy.

Another important requirement is that the letters do not overlap the field borders. This is not so crucial for dropout or black and white raster forms, because field borders will disappear during scanning and despeckling. But if letters overlap field borders on black-and-white linear forms, this may result in a significant decrease in recognition quality.

Sample

To encourage correct completion, we recommend including a note on your form similar to the one below.


Recommended Colors for Dropout Forms

The table below contains dropout color samples and their corresponding Pantone numbers. These background colors disappear if forms are scanned:

  • Using any scanner
    Show me the white lamp table
  • Using a color scanner with software red color filtering or using a non-color scanner with a red lamp/red filter
    • Show me the red lamp table


Hot keys

Keyboard Shortcuts

This section lists the keyboard shortcuts used in different windows of the program. Using shortcuts will save time and make work more convenient.

Project Setup Station Keyboard Shortcuts
Verification Station Keyboard Shortcuts
Data Verification Station Keyboard Shortcuts
Document Definition Editor Keyboard Shortcuts
Group Verification Keyboard Shortcuts
Field Verification Keyboard Shortcuts


Hot keys in the project setup station main window

Project Setup Station Keyboard Shortcuts

Menu | Command | Shortcut
File | New Project… | Ctrl+Shift+N
 | Open Project… | Ctrl+Shift+O
 | Save | Ctrl+S
 | New Batch… | Ctrl+N
 | Load Images… | Ctrl+O
 | Scan Images… | Ctrl+K
 | Import Images… | Ctrl+I
 | Export to Data to Files… | Alt+Shift+S
 | Export to Database Database… | Alt+Shift+D
 | Exit | Alt+F4
Edit | Undo | Ctrl+Z
 | Redo | Ctrl+Y
 | Cut | Ctrl+X
 | Copy | Ctrl+C
 | Paste | Ctrl+V
 | Delete | Del
 | Select All | Ctrl+A
 | Find… | Ctrl+F
 | Find Next | F3
 | Go To > Next Document | Ctrl+D
 | Go To > Previous Document | Ctrl+Shift+D
 | Image > Despeckle | Ctrl+Alt+K
 | Image > Invert | Ctrl+Alt+V
 | Image > Rotate 90° Clockwise | Ctrl+W
 | Image > Rotate 90° Counter-Clockwise | Ctrl+Shift+W
View | Test Batches | Ctrl+Shift+B
 | Batches | Ctrl+B
 | Details | Alt+1
 | Thumbnails | Alt+2
 | Image Mode | Ctrl+1
 | Data Mode | Ctrl+2
 | Zoom In | Ctrl+Num+
 | Zoom Out | Ctrl+Num-
 | Thumbnails Size: Increase | Ctrl+Shift+Num+
 | Thumbnails Size: Decrease | Ctrl+Shift+Num-
 | Full Screen | F11
 | Refresh | F5
 | Object Properties | Alt+Enter
Recognition | Analyze | Ctrl+E
 | Match Document Definition… | Alt+Shift+E
 | Recognize | Ctrl+R
Verification | Run Verification… | F7
 | Next Item to Verify | F4
 | Previous Item to Verify | Shift+F4
 | Next Document with Assembly Error(s) | F9
 | Previous Document with Assembly Error(s) | Shift+F9
 | Next Uncertain Character | F8
 | Previous Uncertain Character | Shift+F8
 | Next Rule Error | F6
 | Previous Rule Error | Shift+F6
Project | Document Definitions… | Ctrl+T
 | Batch Types… | Ctrl+Shift+T
 | Image Import Profiles… | Ctrl+Shift+I
Tools | Update to Latest Version | Alt+Shift+U
 | Re-analyze | Ctrl+Alt+E
 | Re-recognize | Ctrl+Alt+R
 | Re-check Rules | Ctrl+F6
 | Check Batch Integrity | Ctrl+Shift+E
Help | Help Topics | F1
General Commands | Open the document window (if a document or page is selected) | Enter


Hot keys in the verification station main window

Verification Station Keyboard Shortcuts

Menu | Command | Shortcut
File | Save | Ctrl+S
 | New Batch… | Ctrl+N
 | Load Images… | Ctrl+O
 | Scan Images… | Ctrl+K
 | Export to Data to Files… | Alt+Shift+S
 | Export to Database… | Alt+Shift+D
 | Exit | Alt+F4
Edit | Undo | Ctrl+Z
 | Redo | Ctrl+Y
 | Cut | Ctrl+X
 | Copy | Ctrl+C
 | Paste | Ctrl+V
 | Delete | Del
 | Select All | Ctrl+A
 | Find… | Ctrl+F
 | Find Next | F3
 | Go To > Next Document | Ctrl+D
 | Go To > Previous Document | Ctrl+Shift+D
 | Image > Despeckle | Ctrl+Alt+K
 | Image > Invert | Ctrl+Alt+V
 | Image > Rotate 90° Clockwise | Ctrl+W
 | Image > Rotate 90° Counter-Clockwise | Ctrl+Shift+W
View | Batches | Ctrl+B
 | Queues | Ctrl+Q
 | Details | Alt+1
 | Thumbnails | Alt+2
 | Image Mode | Ctrl+1
 | Data Mode | Ctrl+2
 | Zoom In | Ctrl+Num+
 | Zoom Out | Ctrl+Num-
 | Thumbnails Size: Increasе | Ctrl+Shift+Num+
 | Thumbnails Size: Decrease | Ctrl+Shift+Num-
 | Full Screen | F11
 | Refresh | F5
 | Object Properties | Alt+Enter
Task | Get Task | Ctrl+G
Recognition | Analyze | Ctrl+E
 | Match Document Definition… | Alt+Shift+E
 | Recognize | Ctrl+R
Verification | Run Verification… | F7
 | Next Item to Verify | F4
 | Previous Item to Verify | Shift+F4
 | Next Document with Assembly Error(s) | F9
 | Previous Document with Assembly Error(s) | Shift+F9
 | Next Uncertain Character | F8
 | Previous Uncertain Character | Shift+F8
 | Next Rule Error | F6
 | Previous Rule Error | Shift+F6
Tools | Update to Latest Version | Alt+Shift+U
 | Re-analyze | Ctrl+Alt+E
 | Re-recognize | Ctrl+Alt+R
 | Re-check Rules | Ctrl+F6
 | Check Batch Integrity | Ctrl+Shift+E
Help | Help Topics | F1
General Commands | Open the document window (if a document or page is selected) | Enter
 | Registration parameters | Ctrl+P


Hot keys in the data verification station main window

Menu | Command | Shortcut
File | Exit | Alt+F4
View | Full Screen | F11
 | Refresh | F5
Tasks | Get Task | Ctrl+G
Help | Help Topics | F1

Print


Hot keys in Document Definition editor

Document Definition Editor Keyboard Shortcuts

Menu | Command | Shortcut
Document Definition | Add Page… | Ctrl+P
 | Add Document Section… | Ctrl+Alt+S
 | Document Definition Properties… | Ctrl+T
 | Save | Ctrl+S
 | Close | Alt+F4
Edit | Undo | Ctrl+Z
 | Redo | Ctrl+Y
 | Cut | Ctrl+X
 | Copy | Ctrl+C
 | Paste | Ctrl+V
 | Delete | Del
 | Delete Region | Shift+Del
 | Select All | Ctrl+A
 | Select by Type… | Ctrl+Shift+A
 | Create Field - Text | Alt+Shift+T
 | Create Field - Checkmark | Alt+Shift+C
 | Create Field - Checkmark Group | Alt+Shift+M
 | Create Field - Barcode | Alt+Shift+B
 | Create Field - Picture | Alt+Shift+P
 | Create Field - Table | Alt+Shift+L
 | Create Field - Group | Alt+Shift+G
 | Group | Ctrl+G
 | Ungroup | Ctrl+Shift+G
 | Copy Text from Image… | Ctrl+Alt+C
 | Image > Despeckle | Ctrl+Alt+K
 | Image > Invert | Ctrl+Alt+V
 | Image > Rotate 90° Clockwise | Ctrl+W
 | Image > Rotate 90° Counter-Clockwise | Ctrl+Shift+W
View | Static Elements | Ctrl+1
 | Field Regions | Ctrl+2
 | Show Document Structure | Alt+F1
 | Document Structure - Fields | Alt+1
 | Document Structure - Pages | Alt+2
 | Data Form | Alt+F2
 | Image Scale - Zoom In | Ctrl+Num+
 | Image Scale - Zoom Out | Ctrl+Num-
 | Properties | Alt+Enter
Document | Run Test. | Ctrl+R
Tools | Autodetect Objects… | Ctrl+D
 | Check Document Definition | F9
 | Match Section | Ctrl+E
Help | Help Topics | F1

Image Window

Command | Shortcut
Select Regions | Esc
Autodetect Objects | Ctrl+Shift+D
Create Anchor | A
Create Separator | S
Create Anchor Text | X
Create Anchor Barcode | D
Create Text | T
Create Checkmark | C
Create Checkmark Group | M
Create Barcode | B
Create Image | P
Create Table | L
Create Group | G
Create Region for Field without Region | R
Create Non-Recognized Region | O
Create Field Column | U
Add Separator to Table | F
Delete Separator from Table | E
Adjust Region | Ctrl+Alt+A
Suggest Name | Ctrl+Alt+N
Get Name from Image… | Ctrl+Alt+I
Detect Marking Type | Ctrl+Alt+D

Document Structure Window

Command | Shortcut
Show Field Image | Enter
Rename Field | F2
When a field is selected: |
Add Column with Text | Alt+Shift+T
Add Column with Checkmarks | Alt+Shift+C
Add Column with Barcodes | Alt+Shift+B
Add Column with Images | Alt+Shift+P
When a checkmark group is selected: |
Add Checkmark | Alt+Shift+C


Hot keys in the group verifier window

Menu | Command | Hot keys
Verification | Confirm All | Enter
 | Postpone All | Ctrl+Enter
 | Toggle | Space
 | Next Page | Page Down
 | Previous Page | Page Up
 | Close | Alt+F4
Edit | Undo | Ctrl+Z
 | Redo | Ctrl+Y
 | Select All | Ctrl+A
View | Field Image > Show Field Image | Ctrl+I
 | Field Image > On Top | Alt+1
 | Field Image > On Bottom | Alt+2
 | Field Image > Image Scale > Zoom in | Ctrl+Num+
 | Field Image > Image Scale > Zoom out | Ctrl+Num-
 | Show Character Image | F2
 | Full Screen | F11
Help | Display Help | F1
Local Characters Menu | Show Character Image | F2
 | Confirm | Ctrl+E
 | Postpone | Ctrl+R
 | Reset | Esc

Print


Hot keys in the field verifier window

Menu | Command | Hot keys
Verification | Confirm Field | Enter
 | Postpone | Ctrl+Enter
 | Next Uncertain Character | F4
 | Previous Uncertain Character | Shift+F4
 | Next Field | Page Down
 | Previous Field | Page Up
 | Close | Alt+F4
Edit | Undo | Ctrl+Z
 | Redo | Ctrl+Y
 | Cut | Ctrl+X
 | Copy | Ctrl+C
 | Paste | Ctrl+V
 | Delete | Del
 | Select All | Ctrl+A
 | Insert Line Break | Shift+Enter
 | Merge Characters | Ctrl+M
View | Field Data > Recognized Text | Alt+F1
 | Field Data > Character Images Cutting | Alt+F2
 | Field Image > Show Field Image | Ctrl+I
 | Field Image > On Top | Alt+1
 | Field Image > On Bottom | Alt+2
 | Field Image > Image Scale > Zoom in | Ctrl+Num+
 | Field Image > Image Scale > Zoom out | Ctrl+Num-
 | Show Character Image | F2
 | Full Screen | F11
Help | Display Help | F1

Print


Shortcuts

You can customize hotkeys to access commands which are used often. In the main menu, select Tools>Options… and then open the Keyboard Shortcuts tab.

To configure keyboard shortcuts, proceed as follows:

  1. Select a category in the Categories drop-down list. Select All commands if you are not sure what category you need.
  2. Select a command in the Commands list. The Current shortcut list contains hotkeys for the selected command.
  3. To assign a new hotkey, click on the Press new shortcut field and then press a combination of keys. It is displayed in the field. Press the Assign button to save a new shortcut. If it is used to access another command, information message will be displayed. Press the Yes button to change the command or the No button to discard your changes.
  4. To remove an existing shortcut for a command, select it in the Current shortcut list and then press the Delete Shortcut button.
  5. To restore shortcuts for a selected command to default settings, press the Reset button. If you want to restore shortcuts for all commands, press the Reset All button.


FormReader 6.5 and FlexiCapture 10 rules compared

FormReader 6.5

Equivalent in FlexiCapture 10 Automatic conversion

Check against a database

Database Check rule

No

Check sums

Check Sum rule

No

Merge blocks

Merge Fields rule

Yes

VBScript rules

Script rule

No

Search in the list of suggestions

Field properties, Data Type tab. List the variants in the Constraints field. Works for all types except Date and Number. See Data types of the text entry field.

Yes

Match blocks

Can be implemented via a script rule.

No

If-Then rules

Script rule

No

Replace values from the list

Field properties, Data Type tab. Text type, Processing field. See Data types of the text entry field.

Yes

Replace characters from the list

Field properties, Data Type tab. Text type, Processing field. See Data types of the text entry field.

Yes

Normalize and check dates

Field properties, Data Type tab. In the Category list, select Date; in the Formats list, select the required formats; in the Constraints field, enter the required constraints. See Data types of the text entry field.

No

Regular expressions

Field properties, Data Type tab. Enter the required regular expression in the Constraints field. Works for all types except Date and Number. See Data types of the text entry field.

Yes

Automation check

In the previous version of the application, the use of Automation objects required registering the components on the target computer, which made it difficult to transfer batches from one computer to another. In the new version, the logic of the majority of such rules is best implemented through scripts.

If the logic of the rule is too complex and requires an external component to be used, the component should be called from within the code of a script rule. Then a reference to the object on the checked document should be passed to the component.

No

Normalize prices

Can be implemented through an external COM component called from a script rule.

No

Validate passport series and number

Can be implemented through an external COM component called from a script rule.

No

Sum in digits - sum in writing

Sum in figures - sum in words rule No

Price in digits - price in writing

Can be implemented through an external COM component called from a script rule.

No


Additional options

You can set up document processing and the program interface to suit your needs. In the main window of Project Setup Station, select Tools>Options… The dialog that opens contains five tabs:

  • Task Progress

    When tasks are executed in background mode, you can monitor the process in the task progress window, by reading the log file, and reading the pop-up tips. On this tab, you can select which information should be entered into the log file and in which cases balloon messages should be displayed.

  • Colors

    You can change the color if interface elements (e.g. the frames that enclose selected fields in the Document Definition editor or the frames and fill-in color of fields with errors and warnings). Select the desired element and then click the Color button.

  • Document Processing

    Images can be recognized automatically immediately after they have been added to the batch if you select the Recognize added images automatically option.

    Recognition can be ran in background mode (select Run recognition process in background mode).

    If Skip erroneous documents on manual export is selected, both successfully processed documents and documents with errors will be exported.

    If an script error is detected, the Visual Studio debugger is launched. For Active Scripting scripts, you may select Disable external script debugging if you do not wish the debugger to be launched. Only an error message will be displayed.

  • Dialogs

    By default, when you launch the program the Open Project dialog box is displayed, where you can select one of the existing projects. You can disable this dialog box by clearing the Show 'Open Project…' dialog on startup option on the Dialogs tab (alternatively, you can disable this dialog by clearing the same option in the dialog itself).

    When you are closing a list of Document Definitions, the program warns you of any unpublished Document Definitions. If you do not wish this warning message to be displayed, clear the option Show warning if unpublished Document Definition exists (alternatively, you can disable this dialog by clearing the same option in the dialog itself).

    If you want notifications to be shown when exporting documents with errors select Show warning on erroneous document export.

    Select Prompt save changes when switching between documents not to lose any changes when switching between documents.

  • Keyboard Shortcuts

    You can customize keyboard shortcuts on this tab.


ABBYY FlexiCapture sample projects

To see how ABBYY FlexiCapture 10 works and to better understand its features, you can use the sample projects included with the program. These ready-made projects contain set-up Document Definitions and document images for processing.

You can find the sample projects in %allusersprofile%\Application Data\ABBYY\FlexiCapture\10.0\Samples.

Note: Under Microsoft Windows Vista, Windows 7, Windows Server 2008 and Windows Server 2008 R2 the sample projects can be found in %public%\ABBYY\FlexiCapture\10.0\Samples.

The Samples folder contains the following folders:

  1. FlexiCapture - This folder contains the sample FlexiCapture projects.
  2. FlexiLayoutStudio - This folder contains the sample FlexiLayout Studio projects. These sample projects illustrate the processing of semi-structured documents and should be opened in ABBYY FlexiLayout Studio 10. Detailed description for some of these projects is available in the FlexiLayout Studio help file (see the Tutorial and Tips and Tricks sections).
  3. FormDesigner - This folder contains fixed forms developed in ABBYY FormDesigner. The *.fdd should be opened in ABBYY FormDesigner 10. These forms are used in the following sample FlexiCapture projects: Banking Card Application, Questionnaire.
  4. Images - This folder contains scanned document images for the sample FlexiCapture projects.

Below follows a list of the sample FlexiCapture projects and their brief description.

A sample project with documents of different types

The project folders contain sample FlexiCapture projects.

  1. Single Entry Point

    This project shows how documents of different types can be processed. No preliminary document sorting is required, fixed forms and flexible documents can be processed together. The Document Definitions used in this project are also used in the projects described below.

    The project contains all types of documents Banking Card Applications, Invoices, Contracts, Letters, Prices.

Sample projects with fixed forms

The project folders contain forms created in ABBYY FormDesigner and FlexiCapture projects.

  2. Banking Card Application

    This sample project illustrates the following capabilities:

    • Automatic detection of fields on fixed forms (to see how autodetection works, delete all fields from the Document Definition and select Tools >Autodetect Objects…)
    • Support for documents with complex structures:
      1. Multipage documents (three-page applications are used in the sample project)
      2. Working with document sections (in the sample project, each page is a separate section)
      3. Document assembly rules
      4. Annex processing
    • Support for complex fields:
      1. Working with tables on fixed forms (Opened Accounts table)
      2. Repeating field groups (Address and Requested Accounts groups)
    • Data format checks (the formats for all numerical fields and date fields are specified)
    • Customizing the data form.
    • Export to multiple destinations.
    • Editing out of confidential information (redaction).

  3. Questionnaire

    A detailed description of this sample project can be found in the user's guide. The project shows how to set up a Document Definition step by step. A number of simpler forms are used to illustrated the basic ABBYY FlexiCapture features. You can complete the questionnaire in this sample project, process it in ABBYY FlexiCapture and send the exported data to ABBYY.

Sample projects with flexible forms

The project folders contain FlexiLayout Studio projects and FlexiCapture projects.

  4. Invoice

    This sample project illustrates the processing of semi-structured documents and illustrates the following capabilities:

    • Variable number of pages in documents (from 1 to 3)
    • Tables extending over multiple pages
    • The use of an external keyword dictionary (a text file)
    • A JScript rule is used to compare the sum in the Total field with the sum obtained by adding up the Total values from all table rows.

  5. Prices

    This sample project illustrates the processing of semi-structured documents and illustrates the following capabilities:

    • Support for repeating groups. This sample project shows how repeating groups can be used to describe nested tables (tables with subheadings)

  6. Letters&Contracts

    This sample project illustrates the processing of unstructured documents from which 2 or 3 fields are captured. The project illustrates the following capabilities:

    • Variable number of pages in documents (from 1 to 4)
    • Setting up export to Searchable PDF.


FlexiCapture 10 backup

You can make a backup of ABBYY FlexiCapture and restore your system in the event of a failure.

Backup

To make a backup of your system:

  1. Stop the operation of the system.
  2. Close all sessions.
  3. Backup the database using the MS SQL means.
  4. Backup the File Storage using a backup utility (for example, nnBackup).

Restore

To restore your system after a failure:

  1. Prepare the computer(s) for installation and install the system. First, install the external components, then the servers and stations.
  2. Connect your license key or activate your software license.
  3. Restore the database on the SQL server from the backup.
  4. Restore the File Storage.
  5. Open the Administration and Monitoring Console and connect to the existing database. Enter the new path to the database and the new path to the File Storage.

Note: For transfer of the system, administrative rights are required. In order to simplify the process it is recommended the transfer should be made by the same person who created the database. If the transfer is made by another person, make sure that this person has the right to connect to the new server and the rights to access the database on the SQL server.


Supported recognition languages

ABBYY FlexiCapture 10 supports the following recognition languages with dictionary support:

Language | OCR* | ICR**
Armenian (eastern, western, Grabar) | ü |
Bashkir | ü |
Bulgarian | ü | ü
Catalan | ü |
Croatian | ü | ü
Czech | ü | ü
Danish | ü |
Dutch (Netherlands and Belgium) | ü | ü
English | ü | ü
Estonian | ü | ü
Finnish | ü | ü
French | ü | ü
German (old, new spelling) | ü | ü
Greek | ü | ü
Hebrew | ü |
Hungarian | ü | ü
Indonesian | ü | ü
Italian | ü | ü
Latvian | ü | ü
Lithuanian | ü | ü
Norwegian (Nynorsk and Bokmal) | ü |
Old English | ü |
Old French | ü | ü
Old German | ü | ü
Old Italian | ü | ü
Old Spanish | ü | ü
Polish | ü | ü
Portuguese (Portugal and Brazil) | ü |
Romanian | ü | ü
Russian | ü | ü
Slovak | ü | ü
Slovenian | ü | ü
Spanish | ü | ü
Swedish | ü |
Tatar | ü |
Thai | ü |
Turkish | ü | ü
Ukrainian | ü | ü

To read more about fonts for supported languages, see section "Fonts required for correct rendering of characters of supported data types in ABBYY FlexiCapture editor".

A full, updated list of supported data types and their details are available at http://www.abbyy.com.

* - OCR - Optical Character Recognition. Optical recognition of printed texts.

** - ICR - Intelligent Character Recognition. Recognition of hand-printed texts.


Fonts required for correct rendering of characters of supported data types in the FormReader editor

Fonts required for correct rendering of characters of supported languages in the ABBYY FlexiCapture editor

Language | Font
With dictionary support |
Armenian (eastern, western, Grabar) | Arial Unicode MS(2)
Tatar | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Without dictionary support |
Abkhazian | Arial Unicode MS(2)
Adygei | Arial Unicode MS(2), Lucida Sans Unicode(3)
Aghul | Arial Unicode MS(2), Lucida Sans Unicode(3)
Altaic | Arial Unicode MS(2), Lucida Sans Unicode(3)
Avar | Arial Unicode MS(2), Lucida Sans Unicode(3)
Azerbaijani (Cyrillic), Azerbaijani (Latin) | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Bashkir | Arial Unicode MS(2), Palatino Linotype(2)
Buryat | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Chechen | Arial Unicode MS(2), Lucida Sans Unicode(3)
Chukchi | Arial Unicode MS(2), Lucida Sans Unicode(3)
Chuvash | Arial Unicode MS(2)
Dargin | Arial Unicode MS(2), Lucida Sans Unicode(3)
Dungan | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Gagauz | Arial Unicode MS(2)
Hausa | Arial Unicode MS(2), Lucida Sans Unicode(3)
Ingush | Arial Unicode MS(2), Lucida Sans Unicode(3)
Kabardian | Arial Unicode MS(2), Lucida Sans Unicode(3)
Kalmyk | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Karakalpak | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Kazakh | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Khakas | Arial Unicode MS(2)
Khanty | Arial Unicode MS(2)
Koryak | Arial Unicode MS(2), Lucida Sans Unicode(3)
Kyrgyz | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Lak | Arial Unicode MS(2), Lucida Sans Unicode(3)
Lezgin | Arial Unicode MS(2), Lucida Sans Unicode(3)
Mansi | Arial Unicode MS(2), Lucida Sans Unicode(3)
Mari | Arial Unicode MS(2)
Mongol | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Nenets | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Ossetic | Arial Unicode MS(2)
Russian (old spelling) | Arial Unicode MS(2), Palatino Linotype(2)
Tabassaran | Arial Unicode MS(2), Lucida Sans Unicode(3)
Tajik | Arial Unicode MS(2), Palatino Linotype(2)
Turkmen | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Tuvan | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Udmurt | Arial Unicode MS(2)
Uzbek (Cyrillic) | MS Core Fonts 2.82(1) (Arial, Courier New and Times New Roman)
Yakut | Arial Unicode MS(2)
Zulu | Arial Unicode MS,(2), Lucida Sans Unicode(3)

(1) http://www.microsoft.com/

(2) MS Office 2000

(3) Windows NT 4.0


Supported text types

ABBYY FlexiCapture 10 supports the following text types:

Text type | Description
Typographic, laser and ink-jet printers | Texts printed at a print shop, on a laser printer, or on an ink-jet printer.
Typewriter | Typewritten texts.
Matrix printer | Texts printed on a dot-matrix printer.
Index | A special set of characters that includes only digits written in ZIP-code style. They look as follows:
OCR-A | A monospaced font designed for Optical Character Recognition. Largely used by banks, credit card companies, and similar businesses. It may look as follows:
OCR-B | A font designed for Optical Character Recognition. It may look as follows:
MICR E-138 | A special set of numeric characters printed with special magnetic ink. MICR (Magnetic Ink Character Recognition) characters are found in a variety of places, including personal checks. It may look as follows:
MICR CMC-7 | A special MICR barcode font (CMC-7). It may look as follows:


Supported barcode types

ABBYY FlexiCapture 10 supports the following barcode formats:

  • EAN 13
  • EAN 8
  • Code 39
  • Check Code 39
  • Interleaved 25
  • Check Interleaved 25
  • Code 128
  • Codabar
  • UPC-A
  • UPC-E
  • Code 93
  • UCC-128
  • PDF-417
  • IATA 25
  • Matrix 25
  • Industrial 25
  • PostNet
  • Patch code
  • Check CodaBar
  • Aztec
  • Datamatrix
  • QR code

Note: For recognizing barcodes in cyrillic encoding, the Datamatrix format should be used.


Supported graphic formats

Type | Color
BMP | b/w, gray, color
PCX, DCX | b/w, gray
PNG | b/w, gray, color
JPEG | gray, color
JPEG-2000 | gray, color
TIFF b/w – uncompressed, CCITT3, CCITT4, Packbits, ZIP;
gray – uncompressed, Packbits, JPEG, ZIP;
color – uncompressed, JPEG, ZIP.
JBIG2 | b/w
GIF | color
PDF, PDF/A*
PDF, PDF/A* searchable
DjVu | b/w, gray, color

* - PDF/A files created with ABBYY FlexiCapture 10 are PDF/A-1a and PDF/A-1b compliant.


Export file formats

File formats to which ABBYY FlexiCapture 10 exports data from documents

  • Microsoft Office Excel Workbook (*.XLS)
  • DBase file (*.DBF)
  • Comma Separated Values File (*.CSV). ABBYY FlexiCapture supports various code pages (Windows, DOS)
  • Comma Separated Values File (*.CSV) in Unicode format (UTF-8, UTF-16)
  • Simple text (*.TXT). ABBYY FlexiCapture supports various code pages (Windows, DOS)
  • Simple text (*.TXT) in Unicode format (UTF-8, UTF-16)
  • XML Document (*.XML)


Alphabet used in regular expressions

Name | Conventional designation | Usage example
Any character | * | "c"*"t" – allows such words as cat, cot, etc.
Letter | C | C"ot" – allows such words as Rot, pot, cot, Dot, mot, etc.
Uppercase letter | A | A"ot" – allows such words as Rot, Cot, Mot, Dot, etc.
Lowercase letter | a | a"ot" – allows such words as rot, cot, mot, dot, etc.
Letter or number | X | X – allows any standalone number or letter.
Number | N | N"th" allows such words as 5th, 4th, 6th, etc.
String | " " | "cot"
Or | | | "pl"("o"|"a")"t" – allows words "plot" and "plat".
Character from group | [] | [tm]"ot" – allows words "tot" and "mot".
Character not from group | [^] | [^t]"ot" – allows words "cot", "lot", etc., but does not allow the word "tot".
Space (within group) | \s | [A\s] allows only the letter A or a space.
Any number of repetitions (applies to the expression or subexpression on the left) | {-} | [AB74]{-} – allows any combinations of characters A, B, 7, 4 of any length.
Number of repetitions n | {n} | N{2}"th" allows such words as 25th, 84th, 11th, etc.
From n to m repetitions | {n-m} | N{1-3}"th" allows such words as 5th, 84th, 111th, etc.
From 0 to n repetitions | {-n} | N{-2}"th" allows such words as 84th, 5th, etc.
From n repetitions and more | {n-} | N{2-}"th" allows such words as 25th, 834th, 311th, 34576th, etc.
Subexpression | () |
Hyphen symbol | [\-] |
Slash symbol | [\\] |

Examples of regular expressions:

  1. Postal code: [0-9]{6}
    An sample value: "142172"

  2. Zip code (USA): [0-9]{5}("-"[0-9]{4}){-1}
    Sample values: "55416", "33701-4313"

  3. Income: N{4-8}[,]N{2}
    Sample values: "15000,00", "4499,00"

  4. Month in the numerical form: ((|"0")[1-9])|("10")|("11")|("12")
    Sample values: "4", "05", "12"

  5. Fraction: ("-"|)([0-9]{1-})(|(("."|",")([0-9]{1-})))
    Sample values: "1234,567", "0.99", "100,0", "-345.6788903"

  6. E-mail: [A-Za-z0-9_]{1-}(("."|"-")[A-Za-z0-9_]{1-}){-3}"@"[A-Za-z0-9_]{1-}(("."|"-")[A-Za-z0-9_]{1-}){-4}"."([A-Za-z]{2-4}|"asia"|"museum"|"travel"|"example"|"localhost")
    Sample values: "support@abbyy.com", "my-name@company.org.ru", "info@gallery.museum"


Patents

U.S. Patent Nos. 5,490,216, 5,625,465, 5,768,416 and 6,094,505


Third-party technologies

JasPer License Version 2.0

Copyright (c) 2001-2006 Michael David Adams
Copyright (c) 1999-2000 Image Power, Inc.
Copyright (c) 1999-2000 The University of British Columbia

All rights reserved.

More

Permission is hereby granted, free of charge, to any person (the "User") obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  1. The above copyright notices and this permission notice (which includes the disclaimer below) shall be included in all copies or substantial portions of the Software.

  2. The name of a copyright holder shall not be used to endorse or promote products derived from the Software without specific prior written permission.

THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.

NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.

TRADEMARKS

QuickScan is a trademark and Captiva is a registered trademark of Captiva Software Corporation.

KODAK is a trademark of Eastman Kodak Company.

TWAIN Toolkit

The TWAIN Toolkit is distributed as is. The developer and distributors of the TWAIN Toolkit expressly disclaim all implied, express or statutory warranties including, without limitation, the implied warranties of merchantability, noninfringement of third party rights and fitness for a particular purpose. Neither the developers nor the distributors will be liable for damages, whether direct, indirect, special, incidental, or consequential, as a result of the reproduction, modification, distribution or other use of the TWAIN Toolkit.


Technical support

Should you have any questions about using ABBYY FlexiCapture 10, please consult the detailed description of functionality in the Help Topics and User Guide supplied with ABBYY FlexiCapture 10. You may also browse the technical support section on our Website www.abbyy.com where you may find an answer to your question.

To provide expert advice, our technical support service requires the following information:

  • Last name, first name, patronymic
  • Organization name
  • Phone number (fax, e-mail address)
  • Serial number of your installation package
  • Build (see Help/About ABBYY FlexiCapture)
  • General description of the problem with the full error message text (if available)
  • PC and processor type
  • Windows OS version
  • Other information you consider important
Address and contact details of ABBYY offices


How to buy ABBYY FlexiCapture 10

To submit a purchase order for ABBYY FlexiCapture or ask any related questions, please contact regional offices of ABBYY.


ABBYY Offices

USA, Mexico and Central America | ABBYY USA Phone: +1 408-457-9777 Fax: +1 408-457-9778 Address: 880 North McCarthy Blvd., Suite #220 Milpitas, CA 95035, USA E-mail: sales@abbyyusa.com Support e-mail: support@abbyyusa.com Web: http://www.abbyy.com
Canada | ABBYY Canada Phone: +1 408 457 9777 Fax: +1 408 457 9778 Address: 555 Legget Dr., Suite 304 Kanata, Ontario K2k 2X3, Canada E-mail: info_canada@abbyyusa.com Support e-mail: support_canada@abbyyusa.com Web: http://www.abbyy.com
Taiwan | ABBYY Taiwan Address: 3F., No.156, Jiankang Rd., Songshan Dist., Taipei City 105, Taiwan (R.O.C.) E-mail: info_taiwan@abbyyusa.com Support e-mail: support_taiwan@abbyyusa.com Web: http://www.abbyy.com
Western Europe | ABBYY Europe GmbH Phone: +49 (0)89 511 159 0 Fax: +49 89 (0)511 159 59 Address: Elsenheimerstraße 49, 80687 Munich, Germany E-mail: sales_eu@abbyy.com Support e-mail: support_eu@abbyy.com Web: http://www.abbyy.com http://www.abbyy.de http://www.france.abbyy.com
Eastern Europe and the Mediterranean | ABBYY Ukraine Phone: +380 44 490 9999 Fax: +380 44 490 9461 Address: P.O. Box 23, 02002 Kiev, Ukraine E-mail: sales@abbyy.ua Support phone: +380 44 490 9463 Support e-mail: support@abbyy.ua Web: http://www.abbyy.ua
Africa, Asia, South America, Greece and Baltic countries | ABBYY 3A Phone: +7 495 783 3700 Fax: +7 495 783 2663 Address: P.O. Box 32, Moscow 127273, Russia E-mail: sales_3A@abbyy.com Support e-mail: support@abbyy.com Web: http://www.abbyy.cn http://www.abbyy.com.br http://latam.abbyy.com
United Kingdom | ABBYY UK Ltd. Phone:+0870 600 0231 Fax: +01344 392 611 Address: Abbey House, Grenville Place, Bracknell RG12 1BP, United Kingdom E-mail: sales_UK@abbyy.com Support E-mail: support_eu@abbyy.com Web: http://www.abbyy.co.uk
Japan | ABBYY Japan Phone:+81-42-795-1901 Fax: +81-42-795-1901 Address: 658-1 Tsuruma, Machida-shi, Tokyo 194-8510 E-mail: sales@abbyyusa.com Support E-mail: support@abbyyusa.com Web: http://www.abbyy.com
Australia and New Zealand | ABBYY Australia Address: Citigroup Building, level 39, 2 Park Street, Sydney, NSW, 2000, Australia E-mail: sales_au@abbyy.com Support e-mail: support@abbyy.com Web: http://www.abbyy.com
All other regions | ABBYY Russia Phone: +7 495 783 3700 Fax: +7 495 783 2663 Mailing address: Russia, 127273, Moscow, P.O. box 32, ABBYY Address of business: Moscow, ul. Otradnaya 2B, str. 6, Otradny Business Centre E-mail: sales@abbyy.ru Support e-mail: support@abbyy.ru Web: http://www.abbyy.ru MAP


End-User License Agreement

ABBYY FlexiCapture 10

Important! Read the following terms carefully before installing, copying and/or using the FlexiCapture 10 (hereinafter referred to as the “SOFTWARE”). Installing, copying or using the SOFTWARE indicates your acceptance of these terms.

This ABBYY End-User License Agreement (hereinafter referred to as "EULA") is a legal agreement between you, the end user of the above-identified ABBYY software product that accompanies this EULA, including any and all associated media, printed materials, and "online" or electronic documentation (collectively referred to as the "SOFTWARE"), and ABBYY.

By installing, copying, or otherwise using the SOFTWARE you acknowledge that you have read this EULA and that you understand it and agree to be bound by its terms.

The SOFTWARE is protected by copyright laws and international treaty provisions. You agree that this EULA is enforceable like any written negotiated agreement signed by you.

This EULA comes into force at the date when you accept all the conditions stated herein by selecting the "I accept the terms of the license agreement" option and clicking the "Next" in the SOFTWARE installation program or when you start using the SOFTWARE in any manner. The date of this event is the Effective Date.

If the software is accompanied by a hard copy of a duly signed by both parties license agreement, in case of any discrepancies in content between the text of this EULA and the text in the hard copy of the license agreement, the text in the hard copy of the license agreement shall prevail.

If you do not agree with the terms of this EULA, do not install and use the SOFTWARE and select the "I do not accept the terms of the license agreement" option and click the "Cancel" in the SOFTWARE installation program.

Definitions:

"SOFTWARE" shall mean ABBYY FlexiCapture 10 software that is a set of computer programs, databases and documentation (which may be provided in written or electronic form), which is protected by copyright law.

"SOFTWARE Component" shall mean any constituent part of the SOFTWARE, including, but not limited to, any Computer programs included in the SOFTWARE.

"Computer" shall mean an electronic device with one or more CPU cores that accepts information in digital or similar form and manipulates it for a specific result based on a sequence of instructions.

"Virtual Machine" means a virtual (or otherwise emulated) hardware system.

"License" shall mean the non-exclusive right granted by ABBYY to You to install and use the functionality of the SOFTWARE in accordance with the terms of this EULA.

"Serial number" means unique identifier of license or license group with similar parameters that is being given to the end user.

"SOFTWARE Activation" shall mean the procedure whereby the installed SOFTWARE is made fully operational in accordance with the SOFTWARE documentation and the scope of Your License.

"ABBYY" shall mean

ABBYY USA Software House Inc. registered at 880 North McCarthy Boulevard, Suite 220, Milpitas, California 95035, USA, when article 17.1 of this EULA is applied;

ABBYY Europe GmbH registered at Elsenheimerstr. 49 80687 Munich, when article 17.2 of this EULA is applied;

ABBYY UK Ltd. Registered at Heathrow Business Centre, 65 High Street, Egham, Surrey TW20 9EY, United Kingdom, when article 17.3 is applied;

ABBYY LLC registered at ul. Perovskaya dom 22, korpus 1, 111398, Moscow, Russia, when article 17.4 of this EULA is applied,

ABBYY Software House Ukraine registered at 31, Degtyarevskaya st., Kiev, Ukraine 03680, when article 17.5 of this EULA is applied,

and ABBYY Solutions Ltd., Michail Karaoli 2, Egkomi CY 2404, Nicosia, Cyprus, in all other cases.

"You" and "Your" and “End User” refer to and include any person (including individual entrepreneur) and/or any legal entity that obtained this SOFTWARE and on whose behalf this SOFTWARE is being used.

“ABBYY Partner” shall mean a legal entity or an individual entrepreneur that is authorized by an agreement with ABBYY to provide You with the SOFTWARE and the right to use the SOFTWARE.

1. Grant of License

1.1. Subject to your compliance with the terms of this EULA, ABBYY grants you a non-exclusive limited right (the “License”) enabling You to install and use the functionality of the SOFTWARE, including all the images, photos, animations, audio-video components, music, text and "applets" incorporated into the SOFTWARE, as well as the accompanying printed materials and all of the SOFTWARE copies solely as set forth below. All conditions stated below apply both to the SOFTWARE as a whole and to all of its separate Components.

1.2. If paragraph 17.4 applies and You are a natural person, You may use the SOFTWARE worldwide. If paragraph 17.4 applies and You are a legal entity or its branch and/or representative office, You may use the SOFTWARE only in the country of registration of the legal entity (or its branch and/or representative offices), unless otherwise agreed in a separate signed agreement between You and ABBYY

2. License

2.1. ABBYY represents, warrants and guarantees that it has the full right, power, legal capacity, ability and authority to license and distribute the SOFTWARE, including all the images, photos, animations, audio-video components, music, text and "applets" incorporated into the SOFTWARE, as well as the accompanying printed materials and all of the SOFTWARE copies.

2.2. All title and intellectual property rights in and to the content that is not contained in the SOFTWARE, but may be accessed through use of the SOFTWARE, are the property of the respective content owners and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA does not purport to transfer the ownership of such intellectual property.

2.3. The SOFTWARE contains valuable trade secrets and confidential information belonging to ABBYY and third parties and is protected by copyright, including, without limitation, the United States Copyright Law, international treaty provisions, and the applicable laws of the country in which it is being used.

2.4. Any use of the SOFTWARE outside of or in contravention of the terms and conditions of this EULA shall constitute a breach of ABBYY’s intellectual property rights and shall give cause for the revocation of all rights to use the SOFTWARE granted to you under this EULA.

2.5. You acknowledge that the SOFTWARE is protected from unauthorized copying and unlimited use and may include software or hardware protection keys providing for such protection (hereinafter, "License Keys") and You accept the SOFTWARE subject to all such protections.

2.6. The scope of the License may depend on several factors that are specified during ordering of the SOFTWARE: the set of available features, the permitted number and type of the Software Components run in the network, number of CPUs used by the SOFTWARE, the maximum amount of pages that can be processed, expiration date and other. All this information and other information are encoded in the License Key. The License Key technically restricts the use of the SOFTWARE and reflects the scope of the License You ordered.

2.7. You may make a one-time permanent transfer of this SOFTWARE only directly to another end user. If you are a legal entity, such a transfer requires written approval by ABBYY. This transfer must include all of the SOFTWARE (including all SOFTWARE Components, the media and printed materials, any upgrades, and this EULA). Such transfer may not be by way of consignment or any other indirect transfer. The transferee of such one-time transfer must agree to comply with the terms of this EULA, including the obligation not to further transfer this SOFTWARE. You must uninstall the SOFTWARE from all Your Computers it was installed on in the case of such SOFTWARE transfer.

2.8. Except as described in article 2.7, You may not transfer, distribute or sublicense the SOFTWARE to any other person, including any rights granted to You hereunder and/or any other rights related to the SOFTWARE. ABBYY has the right to terminate this EULA in the event of such transfer or distribution.

2.9. This EULA does not grant you any rights in connection with any trademarks of ABBYY.

2.10. All rights not expressly granted are reserved by ABBYY.

3. Using the SOFTWARE

3.1. You may use the SOFTWARE according to the scope of Your License.

3.2. You may install the SOFTWARE on any number of Computers or Virtual Machines.

3.3. The functionality of the SOFTWARE and the number of Computers or Virtual Machines (if the use of Virtual Machines is allowed by Your License) you can simultaneously run the SOFTWARE on are defined by the Serial number provided to You with the SOFTWARE.

3.4. If the SOFTWARE or any SOFTWARE Components are deployed in a virtual (e.g. VMware, Citrix, or ghosting) software environment, at no time may multiple machines use the same License. You agree that at no time may the total number of pages used by the SOFTWARE exceed the total page allowed by the License.

3.5. If You access the SOFTWARE by using terminal services, which allows accessing the SOFTWARE on a remote computer over a network, You may simultaneously run as many copies of the SOFTWARE as permitted by the scope of Your License and stipulated in this EULA.

3.6. If You access the SOFTWARE by using web browser, which allows accessing the SOFTWARE on a remote computer over the Internet, You may simultaneously run as many copies of the SOFTWARE as permitted by the scope of Your License and stipulated in this EULA.

3.7. You may use the SOFTWARE to provide recognition and conversion services and/or to provide the results acquired through the use of the SOFTWARE to any third party only if Your License Key has the parameter "BPO services” enabled.

3.8. You may not use the SOFTWARE to provide paid or free recognition and conversion services and/or to provide the results or access to the results acquired through the use of the SOFTWARE as a part of another service that has recognition or conversion as its component to any third party only unless You have signed a separate written agreement with ABBYY.

3.9. If the SOFTWARE is labeled “Trial” or "Not for Resale", then, notwithstanding other sections of this EULA, You can use the SOFTWARE for evaluation or demonstration purposes only. You acknowledge that the SOFTWARE may have limited functionality and/or operate for a limited period of time. If the SOFTWARE is a timeout version, its functionality will be disabled after a designated period of time as permitted by the scope of Your License.

3.10. You may not perform or make it possible for other persons to perform any activities from the list below:

3.10.1. Reverse engineer, disassemble and/or decompile (get the source code out of the object code) the programs, databases and other SOFTWARE Components except, and only to the extent, that such activity is expressly permitted by applicable law notwithstanding this limitation. If applicable law permits such activities, any information so discovered must not be disclosed to third parties to the extent that such disclosure is required by law and such information must be promptly disclosed to ABBYY. All such information shall be deemed to be confidential and proprietary information of ABBYY.

3.10.2. Modify the SOFTWARE, adapt (make changes to the software aimed to make it function on the end user hardware) or translate the SOFTWARE, including making changes to the object code of applications and databases of the SOFTWARE other than those provided for by the SOFTWARE and described in the documentation.

3.10.3. Correct errors without the prior written consent of ABBYY.

3.10.4. Rent, lease, sublicense, assign or transfer any rights granted to You by this AGREEMENT and other rights related to the SOFTWARE to any other person or authorize all or any portion of the SOFTWARE to be copied onto any other computers unless otherwise stipulated in a separate signed agreement with ABBYY.

3.10.5. Make it possible for any person not entitled to use the SOFTWARE and working in the same multi-user system with You to use the SOFTWARE.

3.10.6. Remove, change or obscure any copyright, trademark or patent notices that appear on the SOFTWARE as delivered to You.

4. Dual-Media SOFTWARE

4.1. You may receive the SOFTWARE on more than one medium, including downloads over the Internet. Regardless of the number of media You receive, You are licensed to use the SOFTWARE subject to this EULA.

5. Limitations

5.1. You may not be able to exercise Your rights to use the SOFTWARE under this EULA unless You activate the SOFTWARE.

5.2. All terms of use and limitations governing the use, support, and maintenance of the SOFTWARE are stated in this EULA, unless otherwise stipulated in a separate signed agreement with ABBYY or ABBYY Partner.

6. End User's Databases

6.1. You may create Your own databases for the programs included in the SOFTWARE if such a feature is provided by this SOFTWARE and described in its documentation.

7. Redistribution of the SOFTWARE

7.1. Any re-distribution of the SOFTWARE, except as described in article 2.6, is strictly prohibited. Redistribution includes, but not limited to, granting access to third parties, renting, leasing, or lending the SOFTWARE.

8. Maintenance and Technical Support

8.1. ABBYY or ABBYY Partner may provide You with maintenance and technical support services subject to the terms and conditions stated in Appendix A to this EULA, unless otherwise agreed by You and ABBYY or by You and ABBYY Partner in a separate agreement.

9. Limited Warranty

9.1. ABBYY warrants that the media on which the SOFTWARE is furnished, if any, will be free from defects in materials and workmanship under normal use for the minimal period determined by the legislation of the country in which You purchased the SOFTWARE starting from the date of purchase. If the SOFTWARE was purchased according with article 17.4, this period will constitute thirty (30) days starting from the date of purchase

9.2. The SOFTWARE, any updates and upgrades are being delivered to You "as is" and ABBYY makes no warranty of any kind. ABBYY does not and cannot warrant the performance or results You may obtain by using the SOFTWARE. Except for any warranty, condition, representation, or term to the extent the same cannot or may not be excluded or limited by law applicable to You in your jurisdiction, ABBYY and its Partners make no warranties, conditions, representations, or terms (express or implied whether by statute, common law, custom, usage or otherwise) as to any matter, including without limitation non-infringement of third party rights, merchantability, integration, satisfactory quality, or fitness for any particular purpose, or that the SOFTWARE will carry no errors, meet Your requirements, or that the SOFTWARE will function properly when used in conjunction with any other software or hardware, and the entire risk as to the quality and performance of the SOFTWARE lies with You.

9.3. ABBYY makes no warranties for any third party software products which may be supplied within the SOFTWARE.

10. Limitation of Liability

10.1. In no event shall ABBYY be liable to You for any damages, business interruption, loss of data or information of any kind, business or otherwise, claims or costs whatsoever, or any consequential, indirect, incidental damage, or any lost profits or lost savings resulting from and/or relating to the use of the SOFTWARE, or damages caused by possible errors or misprints in the SOFTWARE, even if an ABBYY representative has been advised of the possibility of such loss, damages, claims or costs, or for any claim by any third party. The foregoing limitations and exclusions apply to the extent permitted by applicable law in your jurisdiction. ABBYY’s sole and aggregate liability under or in connection with this EULA shall be limited to the purchase price originally paid for the SOFTWARE, if any.

10.2. Limitation of Liability for Users Residing in Germany or Austria.
If You obtained Your copy of the SOFTWARE in Germany or Austria, and You usually reside in such country, then

10.2.1. Subject to the provisions in article 10.2.2 ABBYY’s statutory liability for damages shall be limited as follows: (i) ABBYY shall be liable only up to the amount of damages as typically foreseeable at the time of entering into the purchase agreement in respect of damages caused by a slightly negligent breach of a material contractual obligation and (ii) ABBYY shall not be liable for damages caused by a slightly negligent breach of a non-material contractual obligation.

10.2.2. The limitation of liability set forth in 10.2.1shall not apply to any mandatory statutory liability, in particular, to liability under the German Product Liability Act, liability for assuming a specific guarantee or liability for culpably caused personal injuries.

10.2.3. You shall take all reasonable measures to avoid and reduce damages, in particular, You shall make backup copies of the SOFTWARE and Your computer data subject to the provisions of this EULA.

11. Embedded Fonts

11.1. Font programs are subject to copyright, and the copyright owner may impose conditions under which a font program can be used. One of the conditions may be that you need a licensed copy of the font program to embed the font into a PDF file. In no event shall ABBYY be liable for any damages arising out of or in connection with your use of embedded fonts.

12. Adobe® PDF Library

12.1. “Adobe Software” shall mean Adobe® PDF Library for Windows 2000, XP and related documentation, and any upgrades, modified versions, updates, additions, and copies thereof. The SOFTWARE uses the Adobe Software for converting PDF files into image files.

12.2. License Grant and Restrictions. ABBYY grants you a non-exclusive right to use the Adobe Software incorporated into the SOFTWARE under the terms of this EULA. You may make one backup copy of the Adobe Software incorporated into the SOFTWARE, provided the backup copy is not installed or used on any Computer.

12.3. Intellectual Property Rights. The Adobe Software incorporated into the SOFTWARE is owned by Adobe and its suppliers, and its structure, organization and code are the valuable trade secrets of Adobe and it suppliers. The Adobe Software is also protected by United States Copyright Law and International Treaty provisions. You may not copy the Adobe Software incorporated into the SOFTWARE, except as provided in this EULA. Any copies that you are permitted to make pursuant to this EULA must contain the same copyright and other proprietary notices that appear on or in the SOFTWARE. You agree not to modify, adapt, translate, reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the Adobe Software incorporated into the SOFTWARE. Except as stated above, this EULA does not grant you any intellectual property rights in the Adobe Software.

12.4. Font License. If the SOFTWARE or Adobe Software incorporated into the SOFTWARE includes font software, you may embed the font software, or outlines of the font software, into your electronic documents to the extent that the font vendor copyright owner allows for such embedding. The fonts contained in this package may contain both Adobe and non-Adobe owned fonts. You may fully embed any font owned by Adobe.

12.5. Warranty. ABBYY DOES NOT AND CANNOT WARRANT THE PERFORMANCE RESULTS YOU MAY OBTAIN BY USING THE ADOBE SOFTWARE INCORPORATED INTO THE SOFTWARE.

12.6. Export Rules. You agree that the Adobe Software incorporated into the SOFTWARE will not be shipped, transferred or exported into any country or used in any manner prohibited by the United States Export Administration Act or any other export laws, restrictions or regulations (collectively the "Export Laws"). In addition, if the Adobe Software incorporated into the SOFTWARE is identified as export controlled items under the Export Laws, you represent and warrant that you are not a citizen, or otherwise located within, an embargoed nation and that you are not otherwise prohibited under the Export Laws from receiving the Adobe Software incorporated into the SOFTWARE. All rights to use the Adobe Software incorporated into the SOFTWARE are granted on condition that such rights are forfeited if you fail to comply with the terms of this EULA.

12.7. Trademarks. Adobe and Adobe PDF Library are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

13. PixTools® Scan Runtime Libraries.

13.1. “EMC Software” shall mean PixTools Scan runtime libraries, Level 1 ISIS Drivers, Level 2 ISIS Drivers, and Level 3 ISIS Drivers. The SOFTWARE may use the EMC Software for communicating between scanner and SOFTWARE through the ISIS interface.

13.2. License Grant and Restrictions. ABBYY grants you a non-exclusive right to use the EMC Software incorporated into the SOFTWARE under the terms of this EULA.

13.3. Intellectual Property Rights. The EMC Software incorporated into the SOFTWARE is owned by EMC Corporation and its suppliers, and its structure, organization and code are the valuable trade secrets of EMC Corporation and its suppliers. The EMC Software is protected by United States Copyright Law and International Treaty provisions. You may not copy the EMC Software incorporated into the SOFTWARE. You agree not to modify, adapt, translate, reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the EMC Software incorporated into the SOFTWARE. Except as stated above, this EULA does not grant you any intellectual property rights in the EMC Software.

13.4. Warranty.
ABBYY DOES NOT AND CANNOT WARRANT THE PERFORMANCE RESULTS YOU MAY OBTAIN BY USING THE EMC SOFTWARE INCORPORATED INTO THE SOFTWARE.
IN NO EVENT WILL EMC CORPORATION OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS OR LOST SAVINGS OR FOR ANY CLAIM BY ANY THIRD PARTY.
Some states or jurisdictions do not allow the exclusion or limitation of incidental, consequential or special damages, so the above limitations may not apply to you. You may have other rights, which vary from state to state or jurisdiction to jurisdiction.

13.5. Trademarks.
ISIS and PixTools are either registered trademarks or trademarks of EMC Corporation in the United States and/or other countries.

14. LIZARDTECH SOFTWARE

14.1. “LIZARDTECH SOFTWARE” means DjVu Decoder Software Development Kit of LIZARDTECH origin, as well as any associated media, printed materials and “online” or electronic documentation. You have acquired the SOFTWARE that includes the LIZARDTECH SOFTWARE licensed by ABBYY from LIZARDTECH, INC. The SOFTWARE uses the LIZARDTECH SOFTWARE for converting DjVu files into image files.

14.2. The LIZARDTECH SOFTWARE is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The LIZARDTECH SOFTWARE is licensed, not sold.

14.3. Grant of License. You are granted a personal, nonsublicensable, nontransferable, nonexclusive license to use the LIZARDTECH SOFTWARE as integrated in the SOFTWARE (as well as any associated documentation). You will not rent, sell, lease or otherwise distribute the LIZARDTECH SOFTWARE or any part of it.

14.4. NO WARRANTIES FOR THE LIZARDTECH SOFTWARE. The LIZARDTECH SOFTWARE is provided “AS IS” and with all faults. THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT (INCLUDING LACK OF NEGLIGENCE) IS WITH YOU. ALSO, THERE IS NO WARRANTY AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE LIZARDTECH SOFTWARE OR AGAINST INFRINGEMENT. IF YOU HAVE RECEIVED ANY WARRANTIES REGARDING THE SOFTWARE OR THE LIZARDTECH SOFTWARE, THOSE WARRANTIES DO NOT ORIGINATE FROM, AND ARE NOT BINDING ON, LIZARDTECH.

14.5. NO LIABILITY FOR CERTAIN DAMAGES. EXCEPT AS PROHIBITED BY LAW, LIZARDTECH SHALL HAVE NO LIABILITY FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES ARISING FROM OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE LIZARDTECH SOFTWARE. THIS LIMITATION SHALL APPLY EVEN IF ANY REMEDY FAILS OF ITS ESSENTIAL PURPOSE.

14.6. Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the LIZARDTECH SOFTWARE, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

14.7. Export Restrictions. You acknowledge that the LIZARDTECH SOFTWARE, or any part thereof, or any process or service that is the direct product of the LIZARDTECH SOFTWARE (the foregoing collectively referred to as the “Restricted Components”) are of U.S. origin. You agree to comply with all applicable international and national laws that apply to these products, including the U.S. Export Administration Regulations, as well as end-user, end-use and destination restrictions issued by U.S. and other governments.

15. Other Licensed Technology

15.1. This SOFTWARE is used under license of the following U.S. Patent Nos.; 5,490,216, 5,625,465, 5,768,416 and 6,094,505.

16. Export Rules

16.1. The SOFTWARE shall not be exported or re-exported in violation of any export provisions in the laws of the country in which this SOFTWARE was obtained or otherwise acquired. In addition, you represent and warrant that you are not prohibited under applicable laws from receiving the SOFTWARE.

17. Governing Law

17.1. If the SOFTWARE was obtained in the United States, Canada, Mexico, Central America (Belize, Costa Rica, El Salvador, Guatemala, Honduras, Montserrat, Nicaragua, Panama, Turks and Caicos Islands, Virgin Islands, U.S.), Japan, or Taiwan, this EULA shall be governed by and construed in accordance with the laws of the State of California, United States of America. With respect to any dispute which may arise in connection with this EULA and/or this SOFTWARE, You consent to the jurisdiction and venue of the federal and/or state courts in the county of Santa Clara in the state of California. For the avoidance of doubt if the SOFTWARE was obtained in the United States, You purchased the SOFTWARE from ABBYY USA Software House Inc.

17.2. If the SOFTWARE was obtained in Austria, Belgium, Denmark, Finland, France, Germany, Italy, Luxembourg, the Netherlands, Portugal, Spain, Sweden, or any other member state of the European Union that is not mentioned in paragraph 17.3 - 17.5 except Greece, Cyprus and Malta of this EULA, or in Channel Islands, Iceland, Liechtenstein, Norway, or Switzerland, this EULA shall be governed by and construed in accordance with the substantial laws in force in Munich, the Federal Republic of Germany and the competent court of Munich, the Federal Republic of Germany shall have jurisdiction over all disputes relating to this EULA.

17.3. If the SOFTWARE was obtained in the United Kingdom of Great Britain and Northern Ireland or in the Republic of Ireland, this EULA shall be governed by and construed in accordance with the Laws of England and Wales and the parties accept the jurisdiction of the courts of England and Wales

17.4. If the SOFTWARE was obtained in Russia, Byelorussia, Kazakhstan, or any other country of the CIS, except for Ukraine and Moldova, or if the SOFTWARE was purchased in Georgia, Latvia, Lithuania, or Estonia, this EULA shall be governed by and construed in accordance with the substantial law of Russian Federation.

17.5. If the SOFTWARE was obtained in Albania, Bosnia and Herzegovina, Bulgaria, Croatia, the Czech Republic, Hungary, Israel, Macedonia, Poland, Romania, Slovakia, Slovenia, Turkey, Serbia, Montenegro, Ukraine, or Moldova, this EULA shall be governed by and construed in accordance with the laws of Ukraine.

17.6. If paragraph 17.4 is applied and You are a legal entity or a private entrepreneur, the Arbitration Court of Moscow, the Russian Federation, shall have jurisdiction over all disputes relating to this EULA. If paragraph 17.4 is applied and You are an individual person, the Perovsky District Court of Moscow, the Russian Federation, shall have jurisdiction over all disputes relating to this EULA.

17.7. If paragraph 17.5 is applied and You are a legal entity or a private entrepreneur, аny and all disputes, controversies or differences in opinion arising out of or relating to the Agreement shall be finally resolved through arbitration in accordance with the arbitration rules and procedures of the International Commercial Arbitration Court at the Ukrainian Chamber of Commerce and Industry according to its Rules of Procedure. Judgment of this Court is final and binding for both Parties. If paragraph 17.5 is applied and You are an individual person, the Shevchenkovsky District Court of Kiev, Ukraine, shall have jurisdiction over all disputes relating to this EULA

17.8. This EULA will not be governed by the conflict of law rules of any jurisdiction or the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded.

17.9. If the SOFTWARE was purchased in a country other than the countries specified in articles 17.1, 17.2, 17.3, 17.4, 17.5, this EULA shall be governed by and construed in accordance with the substantial laws of the country in which you purchased the SOFTWARE.

18. Term and Termination

18.1. This EULA comes into force on the Effective Date. Unless otherwise agreed by You and ABBYY or except as otherwise provided by the EULA, this EULA is effective for the entire period of the SOFTWARE copyright.

18.2. You may terminate the EULA by destroying the SOFTWARE and accompanying documentation and all copies thereof.

18.3. Without prejudice to any other rights, ABBYY may terminate this EULA if You fail to comply with the terms and conditions of this EULA. In such an event, You must destroy all copies of the SOFTWARE and all of the SOFTWARE Components. Such termination does not relieve You of Your obligation to pay for the SOFTWARE and/or for Maintenance.

18.4. Provisions 2.3, 2.8, 2.9, 3.9, 7, 9.2, 9.3, 10, 17, 20.2, 20.3 shall survive the termination of this EULA, howsoever caused, but this shall not imply or create any continued right to use the SOFTWARE after termination of this EULA.

19. Government Use

19.1. If use of the SOFTWARE is made by the United States Government or any US Government agency, the following additional terms shall apply: (1) Restricted Computer Software, as defined in the Rights in Data-General clause at Federal Acquisition Regulations 52.227-14; and (2) any use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (с)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.

20. General Provisions

20.1. If any part of this EULA is found void and unenforceable, it will not affect the validity of the balance of the EULA, which shall remain valid and enforceable according to its terms.

20.2. You agree to provide ABBYY with some of Your personal details in the course of activation, installation, and registration of the SOFTWARE. You agree that your personal details may be collected, processed, and used by ABBYY in compliance with applicable law provided that the confidentiality of the data is maintained. Any personal details You provide to ABBYY will be stored and used strictly within the ABBYY and its affiliates and will not be disclosed to any third party, except as may be required by applicable law.

20.3. ABBYY may send you e-mails containing product and company news, information about special offers, advices on product usage and other product and company-related information provided You specifically agreed to receive this information from ABBYY. You have the possibility to remove your e-mail address from ABBYY mailing list at any time.

20.4. ABBYY may provide You with printed materials, including the user’s guide.

20.5. Consideration under this EULA is the price of the SOFTWARE (or License) established by ABBYY or an ABBYY Partner which is payable in accordance with the payment procedures established by ABBYY or the ABBYY Partner, or is included in the purchase price of Your hardware, or is part of the consideration payable by You for the full version of the SOFTWARE. If You are a natural person, this EULA may be gratuitous.

20.6. If any claims or lawsuits are brought against You in connection with your use of the SOFTWARE, You shall inform ABBYY about them in 3 days from the moment You learned of them. You shall carry out all the necessary actions to provide ABBYY with the possibility of taking part in the hearings of said claims or lawsuits in court, and to provide the information necessary for settlement of the corresponding claims or lawsuits, not later than in 7 days from the moment of reception of inquiry from ABBYY.

Appendix A

Maintenance Agreement

This Appendix A shall be an integral part of the EULA unless otherwise stipulated in a separate written agreement between You and ABBYY or in a separate agreement between You and an ABBYY Partner.

1. Definitions

1.1. "Update" shall mean enhancements to the current version of the SOFTWARE which usually includes bug fixing.

1.2. "Upgrade" shall mean the next SOFTWARE version to supersede the major or minor version (for example, 1.5 will supersede 1.0, 2.0 will supersede 1.x, ) currently licensed to You under the EULA.

1.3. "Error" shall mean any failure of the SOFTWARE to perform in accordance with the specifications listed in the documentation. The following three types of Error shall be recognized:

1.3.1. A priority 1 Error shall mean problematic situations where no workarounds are available to You and the production at Your site is halted, including Errors displaying "Internal Program Error," "Out of memory," "Access Violation," "General Protection Fault," "General Protection Error," and "Division by Zero" messages;

1.3.2. A priority 2 Error shall mean a failure for which a workaround is available;

1.3.3. A priority 3 Error shall mean a minor issue not interfering with the production at Your site.

1.4. "Support Services" means

(i) services provided to You by ABBYY in case of Error occurrence, in attempt to restore the SOFTWARE operation in accordance with the specifications. These services may include providing You with a workaround for the Error You reported, or providing You with an Update for the SOFTWARE in which the Error is eliminated;

(ii) information provided to You by ABBYY in answer to Your questions about the SOFTWARE functionality, installation, activation and operation.

1.5. "Upgrade Assurance" shall mean the part of Maintenance that grants You the right to receive Upgrades.

2. Maintenance

2.1. Maintenance may include delivery of Updates, Upgrade Assurance, and Support Services or any combination thereof.

2.2. Maintenance term is the initial period of twelve (12) months, commencing on the date on which the SOFTWARE is shipped.

2.3. To extend the Maintenance period, You need to procure such an extension from ABBYY or its Partner. If article 17.2 or 17.3 is applied, Maintenance will be renewed for a period of 12 months without any further declaration if You do not cancel Maintenance within 45 days before the Maintenance period terminates. Such a cancellation must be declared in written form.

2.4. ABBYY or its Partner may supply You with additional specific terms and conditions of Maintenance.

2.5. ABBYY reserves the right to change, at its sole discretion, the form and content of Maintenance from time to time.

2.6. Any supplemental SOFTWARE code provided to You as part of Maintenance is to be considered as part of the SOFTWARE and subject to the terms and conditions of the EULA.

3. Updates and Upgrade Assurance

3.1. Upgrades and Updates shall be delivered on CD-ROM and/or electronically (via FTP). Shipping costs, if any, must be paid by You.

3.2. If You have purchased the Update delivery part of Maintenance, then You have the right to receive Updates from ABBYY or its Partner. ABBYY or its Partner will provide You with Updates for the SOFTWARE as soon as these become available.

3.3. If You have purchased the Upgrade Assurance part of Maintenance, then You have the right to receive Upgrades from ABBYY or its Partner. ABBYY or its Partner will provide You with Upgrades for the SOFTWARE as soon as these become available.

3.4. If You develop any application which contains the SOFTWARE, parts of the SOFTWARE, or is integrated with the SOFTWARE, any new major release of this application shall include the latest Update of the SOFTWARE provided to You by ABBYY not more than three (3) months before such release (or the latest Update if such Update was released more than three (3) months before such release).

4. Support Services

4.1. If You have purchased the Support Services part of Maintenance, then ABBYY or its Partner shall provide You with Support Services according to the current ABBYY support policy published on the ABBYY web site at http://www.abbyy.com/support/policy. ABBYY reserves the right to change the support policy any time without any prior notice.

4.2. ABBYY or its Partner shall provide Support Services to resolve priority 1 Errors.

4.3. If You have purchased the Support Services part of Maintenance, then ABBYY or its Partner shall provide Support Services for up to eight (8) requests involving Errors with priority 2 and 3 for the period of twelve (12) months. Support Services for any additional requests involving Errors with priority 2 and 3 for the period shall be purchased additionally.

4.4. ABBYY or its Partner will provide Support Services related to the SOFTWARE during normal working hours via telephone or e-mail.

4.5. ABBYY or its Partner agrees to make commercially reasonable efforts to issue emergency Updates to the SOFTWARE outside the normal release schedule to remedy any priority 1 Error reported to it. In the normal course of events, priority 2 and 3 Errors may be repaired in subsequent releases. Emergency Updates will only be issued for the current version of the SOFTWARE to fix priority 1 Errors.

4.6. When reporting Errors, You agree to provide ABBYY or its Partner with the necessary supporting data to locate the Error and provide for its repair and workaround. The supporting data shall include a description of the problem, identification of the platform and operating system on which the problem occurred, a copy the input which caused the Error to be discovered, a copy of the format file being used when the Error was discovered, and any machine dumps which resulted from the Error. ABBYY or its Partner may use the above-mentioned information for its business purposes, including, but not limited to, product support and development, provided that ABBYY or its Partner does not utilize such information in any form that personally identifies You.


Basic field properties

You can configure basic field properties on the General tab.

On this tab the field type is displayed as an icon to the right of the name.

  • Name – field name. The name is assigned automatically when the field is created and corresponds to the explanatory text closest to the field. When editing the properties, you can change the name assigned by default. See also How to change the field name.
  • Caption – the name of the field that will be displayed in the data form.
  • Export field value – this option must be enabled if you want to export the field value (enabled by default). You may need to disable this option if, for example, the value of this field is used to obtain the value of a calculated field (see Rule validation), and only the end result has to be exported.
  • Show in data form – this option must be enabled if the field should be visible in the data form (enabled by default).
  • Cannot be blank – enable this option if you want to make it a required field.
  • Read only – enable this option if the field should be accessible only for viewing, i.e. the operator will not be able to modify its value. You can enable this option for fields whose values have to be calculated automatically using a rule, for example, for a field where you plan to save the sum or combine other fields (see Rule validation).
  • Index field – enable this option if you expect to use this field to perform document indexing. When processing documents, you will be able to display the value of this field for each document, and sort and search documents based on the field value.
  • Should be matched - enable this option if you want the field to be highlighted during verificaton if its region is not found. If the field is not matched, it will also be available for navigation in the Go to Next Unmatched Field on Matching mode.
  • Comment – you can enter any comments.

Field properties


Field Verification

You can customize the cursor position during field verification. In the Field Verifier window, select Tools>Options… and then open the Field Verification tab.

By default the cursor is set to the first character of a field. Select the Set cursor to the first uncertain character option to change this.

If you prefer to retype all the field, choose the Select whole field option. The Set cursor to the first uncertain character option will be disabled.


Glossary

A

ABBYY FlexiCapture

A software solution for single-flow input of data from various document types – structured (fixed forms), semi-structured (flexible forms and documents) and unstructured (free-format documents).

ABBYY FlexiLayout Studio

A program allowing you to create a flexible description of the document structure, which can then be used for automatic document recognition.

ABBYY FormDesigner

ABBYY FormDesigner is used to design layouts of machine-readable forms. Once replicated and filled out, these forms can be processed with the ABBYY FlexiCapture automated form input system. Form layout design is an important stage, since the quality of the designed layout (its machine readability) determines the effectiveness of all subsequent processing stages: scanning, recognition, verification, and export.

ADF

Automatic Document Feeder. A device for automatic document feeding that enables you to scan any number of documents without performing additional manual operations.

Administrator

A user of ABBYY FlexiCapture who is authorized to configure the program for document input: creating and editing Document Definitions and import profiles.

Alphabet

A set of characters used in the language being described.

Anchor

A static element in the form of a black square, rectangle, cross or corner intended for Document Definition matching. Details...

Anchors are special elements of form design, which are used by the system to perform matching after scanning (eliminates skewing, compensates linear and nonlinear defects of scanning, calculates the location of blocks). The most reliable anchors are black squares that are normally located in the corners of a form. If no special anchors are present on the image, other static elements can be used to match the Document Definition: separators, i.e. vertical or horizontal lines, such as table lines, frames, etc., or clear static text, namely: form header, field signatures, explanatory information, etc. The option Use for Document Definition matching must be enabled for static elements used for Document Definition matching.

Anchor barcode

A static element representing a barcode that is not intended for data extraction. An anchor barcode can be used for Document Definition matching or identification.

Anchor text

A static element representing a text that is present on a blank form and is not intended for data extraction. This may be any explanatory text or header. Anchor text can be used for Document Definition matching or identification.

Angle

An anchor shaped as an angle.

Annex

Pages that do not contain fields, but are included in document assembly. No data is extracted from these pages, but they may be saved as images or PDF searchable files. See Creating Document Definitions for documents with annexes.

B

Barcode

A machine-readable form element represented as alternating white and black bars of a certain length, which encode digital information. A barcode in a document may be used to extract information (barcode field) or to match and identify a Document Definition (anchor barcode).

Barcode field

A Document Definition field containing a barcode intended for recognition.

Barcode recognition

Conversion of a graphic barcode image to numbers or text.

Batch type

The property of a batch that defines how documents in the corresponding batches are to be processed. See Batch types

Black-and-white line form

A form in which borders of information fields are formed by ordinary lines that do not disappear during scanning.

Black square

An anchor shaped as a black square.

Brightness

A threshold of light sensitivity that determines at which point the scanner detects grayscale halftones as white.

C

Checkmark

A machine-readable form element that is filled with a mark (tick, cross, dot, inked out, etc.) by the person filling out a form.

Checkmark field

A Document Definition field containing a checkmark.

Checkmark group

An element of a machine-readable form uniting several checkmarks located nearby. One or several checkmarks can be selected in a checkmark group.

Checkmark group field

A Document Definition field containing a checkmark group.

Classifier

A project created in FlexiLayout Studio and intended for preliminary identification of pages prior to applying Document Definitions as well as for selecting the matching FlexiLayout or layout alternative.

Color background form

A form in which all information fields are white rectangles against a color background that disappears during scanning.

Contrast

Ratio between the brightness of the darkest and lightest areas on an image.

Corrected checkmark

A checkmark that was selected mistakenly and then inked out. If the option Allow corrections is enabled for the checkmark field, the program will recognize the inked out checkmark as unselected.

Cross

An anchor shaped as a cross.

Custom data type

User-defineddata type. See Creating custom data types.

D

Data type

A field attribute describing known constraints of possible field values. It is used during field recognition to reduce the number of possible recognition variants. Details...

One of the field's characteristics is a data type: number, date, text, last name, given name, address, etc. A data type defines the set of words that can occur in the given field.

Data type is an important recognition parameter that affects recognition quality. A correctly specified data type can significantly reduce the number of incorrectly recognized characters.

Description file

An auxiliary file that defines how a batch is formed when images are being added from a hot folder. For details see Description file.

Dictionary

A list of words used to determine a specific data type. Details...

A dictionary is specified when creating a data type. As a result, the data type attached to a field determines the dictionary used during recognition and verification. In addition to the existing predetermined data types with ready dictionaries, the program allows you to attach data types created on the basis of custom dictionaries. You can type in dictionary data manually or load them from a file.

Document

A combination of one or several page images and data extracted from them.

Document batch

A combination of documents grouped by the user. A batch normally contains the stack of documents scanned in a single pass or imported from a particular folder. See Document batches.

Document data

Data captured after processing (recognition, verification and editing of recognition results) of document page images.

Document Definition

A Document Definition defines the principles of identification and processing of this type of documents and contains:

  • The document structure, i.e. description of the allowable order of pages forming the document of this type. The document structure defines the rule of document assembly.
  • Definitions of document sections.
  • List of rules that must be satisfied by field data.
  • Location of fields and their signatures in the data window (data form view).
  • Export settings for this type of documents.
  • Processing settings for this type of documents.

Document Definition identification

A process of selecting the required Document Definition with the help of identifiers.

Document Definition matching

A process of selecting a Document Definition and matching its fields against an image.

Document Definition publication

Allowing access to a new Document Definition version once it has been edited. A published version participates in the processing of documents from work batches, while an unpublished, local version can participate only in the processing of Document Definitions from test batches. See Editing and publishing a Document Definition.

Document Definition section

A component of a Document Definition. Corresponds to one or several pages containing a logically complete set of fields. Fields within one section can continue from one page to the next (for example, multipage tables), while field sets from various sections do not intersect.
A section definition can be flexible or fixed.

Document error

If, during document processing, it turns out that document data does not fully match either the document structure and specified field value constraints or control rules, all mismatches will be recorded in the document's errors and warnings list.

Dot-matrix printer

A type of recognizable text that represents a text printed with a dot-matrix printer.

dpi

Dots per inch. Number of dots per inch; a measurement unit of image resolution.

E

Explanatory text

A machine-readable form element that represents a descriptive text (form name, field names, explanations to fields, etc.).

Export

A process of transferring processed data to an external information system or file.

F

Field

A document element intended for data extraction. Fields may be simple (without an internal structure) or composite, such as the table field where each cell can be viewed as a separate subordinate field of the table. See Creating fields of a Document Definition.

Field region

An image region highlighted in the Document Definition and intended for data extraction.

Field verification

A verification mode whereby recognized characters are submitted for verification within the context of a field. Details...

In the field verification mode, uncertain characters are checked within the context of the entire field.

Fields with the option Send to Field verification enabled are submitted for field verification. We recommend submitting for field verification those fields whose values range is known or can be determined easily. Examples of such fields are country or city names: we know what values this field can have.

Field with several instances

A field used to describe several objects of the same type (recurring objects). In essence, these multiple objects are one and the same field and share the same properties. Fields with several instances are used to avoid the need to create several identical fields. Fields with several instances are exported to separate files or database tables. See Fields with several instances.

Field with several regions

A field consisting of several regions on the image. Such regions may be located at a distance from one another and even on different pages. Values from all regions belonging to the same field are combined and exported together as one field. Normally used for objects located on several pages, such as large tables. See Fields with several regions.

Field without a region

A field detected in a Document Definition but not having a region on the image. See Fields without a region.

Fixed form

A document with fixed information fields whose formatting, number and layout are strictly defined and do not change from one document instance to another.

Fixed Document Definition

A definition of a document or its section designed for processing fixed forms. Fields in a fixed Document Definition have fixed locations.

FlexiLayout

Description of the flexible document structure. This description is designed with ABBYY FlexiLayout Studio and exported to ABBYY FlexiCapture. FlexiLayout is a kind of instruction for detecting and identifying fields in a flexible form.

Flexible description

A formalized description of the document structure, designed to help detect fields. Created with ABBYY FlexiLayout Studio. File format – *.afl. See FlexiLayout.

Flexible Document Definition

A definition of a document or its section designed for processing flexible documents. Created by attaching a flexible description. Fields in such a Document Definition do not have fixed locations. They are detected with the help of a flexible description. See Creating a Document Definition for processing flexible documents.

Form

A document comprising one or several pages designed to be filled out by a person by hand or using any other printing technique.

Form input

Data capture from information fields in forms.

Framed text

Type of text marking where a frame delimits the text. Show...

Framed text over a comb

Type of text marking where text is delimited by a frame with a bottom boundary shaped as a comb. Show...

G

Gray background form

A form in which all information fields are white rectangles against a gray background that disappears during scanning.

Group verification

A verification mode whereby identically recognized characters are submitted for verification in groups. Details...

Fields for which the option Send characters to Group verification is enabled are submitted for group verification.

We recommend submitting characters from number fields as well as checkmarks for group verification.

H

Handprinted text

A type of recognizable text that represents a text printed by hand in distinct type.

Hot folder

A folder on the hard drive of a local or remote computer, which is used for importing images. It is normally used for periodically recurring image uploads without the user's involvement. See Image import profiles.

I

Identifier

A static element used for certain selection of a Document Definition from among several Document Definitions with identical locations of anchors. The option Use for Document Definiition identification must be enabled in the properties of such static elements.

Ignored character

A character occurring inside words (for example, a bullet) or a soft hyphen character (tabulation, etc.) whose presence does not prevent the program from attributing the word to a recognizable data type. Details...

These characters are excluded from words, i.e. the words are attributed to particular data type without these characters.

Image

An electronic image of a scanned page from a hardcopy document.

Image despeckling

Removal of noise from the image. Noise can appear during scanning, and it is recommended that it be removed to enable better data recognition. During despeckling, the program also removes background dots or boundary lines of raster forms.

Image import

A process of adding images to a batch for processing. Import can be performed by adding images from files, from a scanner or using import profiles. See Adding page images.

Image replacement

Replacement of one image with a different one when editing a Document Definition.

Image rotation

Rotation of an image around its center.

Import profile

A combination of settings used to add images to a batch: import source, image processing options, hot folder cleanup options, etc. See Image import profiles.

Incorrectly recognized character

Status automatically assigned to a character in the process of recognition if it has been recognized with a considerable degree of uncertainty.

Index field

A field whose value is used to index documents for sorting and search purposes. See Index fields.

Inverted image

An image with light-colored text against a dark background.

ICR

Intelligent Character Recognition. This refers to technologies or systems designed for mass processing of documents filled with handprinted letters and numbers, i.e. recognition of handprinted characters.

K

Key field

A field that enables automatic checking of page assembly into documents. The values of key fields must be identical on all pages of the same document.

L

Language (local)

A field property that determines the writing language and relevant sets of regional parameters (such as the date or address writing style).

Letters in frames

Type of text marking where every character is delimited by a frame; frames are not isolated from one another. Show...

Letters in isolated frames

Type of text marking where every character is delimited by a frame; frames are isolated from one another. Show...

Letters over a comb

Type of text marking where a "comb" delimits the text. Show...

M

Machine-printed text

A type of recognizable text that has been printed using typographic equipment or a laser or inkjet printer with a minimum resolution of 300 dpi.

Machine-readable form

A form designed especially for automated input. It contains work elements (anchors, barcodes, lines, etc.) that are required to process it successfully.

Manual entry field

A Document Definition field containing unrecognizable text (for example, text consisting of fused letters) that has to be entered from the keyboard.

MRC

Mixed Raster Content. A process of using image segmentation methods to improve the contrast resolution of a raster image composed of pixels.

Monospaced text

Type of text marking where each letter is located within a frame of the same height and width, but the frame border disappears during scanning.

Multipage document

A document made up of several pages.

O

OCR

Optical Character Recognition. Optical recognition of printed texts.

OMR

Optical Mark Recognition. Optical recognition of marks. This technology enables ABBYY FlexiCapture to both recognize ordinary marks (ticks, crosses, etc.) on forms with a high degree of certainty and to correctly identify marks that were made by mistake and then inked out.

Operator

A user of ABBYY FlexiCapture who is tasked with document entry: adding images, performing recognition and verification, exporting recognized data.

Operator role

The property of a user account in ABBYY FlexiCapture 10, which determines what data are accessible to the user and what actions can be performed on these data. See Operating a configured project.

Optical mark recognition (OMR)

A process of determining the presence of a mark in the mark field of a form.

P

Page

Image of a paper document page and results of its processing.

Page layout

A scheme showing the location of fields on an image.

Page orientation

Page location relative to the standard alignment: top to bottom, left to right. Page orientation can be determined automatically during page image recognition; to this end ABBYY FlexiCapture 10 allows you to specify possible orientations.

Picture

An element of a machine-readable form that is not subject to recognition but intended for export in the form of a graphic object (for example, a file).

Picture field

A Document Definition field containing a picture.

Processing stage

A workflow stage where certain actions are performed on a document or batch (either automatically or by an operator). See Processing stages and queues

Prohibited character

A character that you are certain will not occur in the data being recognized. Details...

Specifying such characters may considerably increase the speed and quality of recognition. For example, when recognizing texts with only uppercase letters, specify all lowercase letters as prohibited characters.

Project

A project is a single environment uniting the document batches and settings required to process them, such as Document Definitions, import profiles, etc. See Creating a project.

Q

Queue

Documents grouped into tasks and/or batches, waiting to be processed at a certain processing stage. See Processing stages and queues.

R

Raster form

A form in which information fields are represented as white rectangles against a gray background consisting of raster lines or rectangles delimited by raster lines.

Raster line

A line consisting of equally spaced dots.

Recognition

A process of matching image elements against specific characters.

Regular expression

Description of the structure of a word or any entered value using a special language. The program allows you to specify not just the set of allowable characters, but also the structure of field contents. You can describe the structure with a regular expression when setting constraints for a text field or when creating a custom data type. See Alphabet used in regular expressions.

Resolution

Image parameter. Resolution is measured in dots per inch (dpi).

Rules

Certain conditions imposed on data in fields and automatically checked by the program. See Rule validation

Rule validation

An automatic check of recognized data against preset rules. See Rule validation.

S

Scanning

A process of getting an electronic image of a paper form using a scanner.

Section of a Document Definition

A set of pages (or a single page) and the fields on them, which corresponds to a logically complete part of a document. Document sections can be described using a fixed or flexible Document Definition. See Creating Document Definitions for multipage documents.

Semi-structured document

Document containing a set of information fields whose design, number and layout may vary significantly in different instances of the document. See Types of documents processed with ABBYY FlexiCapture 10.

Separator

A machine-readable form element representing a vertical or horizontal line.

Set of allowable characters

A set of characters occurring in the data type being recognized. Details...

This set is determined by the data type. That is, the type of data attached to a field determines the set of characters used during recognition.

In addition to selecting characters included in this set, you may configure additional parameters restricting this set. For example, you may specify:

  • Characters that you know will not occur when a given field is recognized – prohibited characters (for example, you may specify all lowercase letters as prohibited for a field where only uppercase characters may occur).
  • Characters that may occur inside words without affecting their verification – ignored characters (for example, hyphens, stress marks, etc.).

Simple text

A type of text marking where text is inserted in a block without any delimiters.

Single-flow data input

Automated data extraction from analog (printed) and digital (scanned image) documents.

Single-flow document input

Automated conversion of hardcopy documents into electronic form.

Static elements

Unrecognizable elements intended for Document Definition matching and identification. Such elements are: anchors, anchor text, separators, anchor barcodes.

T

Table

Data arranged in a two-dimensional grid that is not necessarily visible. The program processes tables consisting of columns with same-type data and repeating rows.

Table field

A Document Definition field containing a table. It is a composite field, with every table column representing a set of fields of the same type: text, checkmarks, barcodes or pictures.

Test batches

Document batches designed for Document Definition testing and configuration. Local copies of document batches are used to process test batches. See Document batches.

Task

A set of documents from the same batch to be processed together. Depending on the project settings and the processing stage, a task may contain different numbers of documents. If a processing stage requires a batch to be processed in its entirety, the whole batch is icnluded in the task. When verification tasks are formed automatically, each task contains 10 documents (if a batch contains fewer than 10 non-verified documents, they are all processed as one task).

Text field

A machine-readable form element designed for text entry when filling out a form.

Text field marking

A graphic element delimiting a text field: frame, comb, line.

Text marking

The design of a page region intended for text input. See samples of text formatting in the Entry field topic.

Text orientation

Direction of text in a field relative to the page.

Text recognition (OCR, ICR)

Conversion of a graphic image to text.

Text sample

A file containing samples of all alphabet characters.

Typewriter

A type of recognizable text that represents a text printed with a typewriter.

U

Underlined text

Type of text marking where underlining delimits the text. Show...

Unrecognizable region

An image region excluded from recognition. An unrecognizable region is required to exclude a region with explanatory text or picture that complicates field recognition. See Excluding a region from recognition.

Unstructured document

A document containing information presented in a free form. Examples of such documents are contracts, letters, orders, graphs. See Processing unstructured documents.

V

Verification

A process of checking recognized data by the operator. Performed by comparing recognition results with the original image of any document part. In ABBYY products, the verification technology has been implemented taking into account the basic psychosomatic peculiarities of humans: habit formation, skill utilization, integrity and purpose of perception. See Verifying recognized data.

W

Work batches

Document batches intended for data input. Only published Document Definitions are used for processing work batches. See Document batches.

Writing style

A manner of writing that is specific to a particular group. For example, the American manner of writing numbers. Details...

This option is used for configuring the writing style of handprinted letters in forms. The choice of a writing style depends on the are where form processing takes place (Russia, Germany, the Czech Republic, the USA, etc.).

X

XFD

XML Form Definition (*.xfd) – a special file format of a form designed with ABBYY FormDesigner. An XML Form Definition format file is used to create Document Definitions in ABBYY FlexiCapture.


Glossary

A B C D E F G H I K L M O P Q R S T U V W X


Internal names of recognition languages

What it does

Internal names of recognition languages are used in the RecognitionLanguages property of the IExportImageSavingOptions object.

Compliance of recognition languages to their internal names:

Abkhaz->Abkhaz
Adyghe->Adyghe
Afrikaans->Afrikaans
Agul->Agul
Albanian->Albanian
Altaic->Altaic
Arabic (Saudi Arabia)->Arabic
Armenian (Eastern)->ArmenianEastern
Armenian (Grabar)->ArmenianGrabar
Armenian (Western)->ArmenianWestern
Avar->Awar
Aymara->Aymara
Azerbaijani (Cyrillic)->AzeriCyrillic
Azerbaijani (Latin)->AzeriLatin
Bashkir->Bashkir
Basque->Basque
Bemba->Bemba
Blackfoot->Blackfoot
Portuguese (Brazilian)->PortugueseBrazilian
Breton->Breton
Bugotu->Bugotu
Bulgarian->Bulgarian
Buryat->Buryat
Belarusian->Belarusian
Catalan->Catalan
Chamorro->Chamorro
Chechen->Chechen
Chinese Simplified->ChinesePRC
Chinese Traditional->ChineseTaiwan
Chukchee->Chukcha
Chuvash->Chuvash
Corsican->Corsican
Crimean Tatar->CrimeanTatar
Croatian->Croatian
Crow->Crow
Czech->Czech
Danish->Danish
Dargwa->Dargwa
Dungan->Dungan
Dutch->Dutch
English->English
Eskimo (Cyrillic)->EskimoCyrillic
Eskimo (Latin)->EskimoLatin
Esperanto->Esperanto
Estonian->Estonian
Even->Even
Evenki->Evenki
Faroese->Faeroese
Fijian->Fijian
Finnish->Finnish
Dutch (Belgian)->DutchBelgian
French->French
Frisian->Frisian
Friulian->Friulian
Scottish Gaelic->GaelicScottish
Gagauz->Gagauz
Galician->Galician
Ganda->Ganda
German->German
German (new spelling)->GermanNewSpelling
German (Luxembourg)->GermanLuxembourg
Greek->Greek
Guarani->Guarani
Hani->Hani
Hausa->Hausa
Hawaiian->Hawaiian
Hebrew->Hebrew
Hungarian->Hungarian
Icelandic->Icelandic
Ido->Ido
Indonesian->Indonesian
Ingush->Ingush
Interlingua->Interlingua
Irish->Irish
Italian->Italian
Japanese->Japanese
Kabardian->Kabardian
Kalmyk->Kalmyk
Karachay-balkar->KarachayBalkar
Karakalpak->Karakalpak
Kasub->Kasub
Kawa->Kawa
Kazakh->Kazakh
Khakass->Khakas
Khanty->Khanty
Kikuyu->Kikuyu
Kirghiz ->Kirgiz
Kongo->Kongo
Korean->Korean
Koryak->Koryak
Kpelle->Kpelle
Kumyk->Kumyk
Kurdish->Kurdish
Lak->Lak
Sami (Lappish)->Lappish
Latin->Latin
Latvian->Latvian
Latvian Gothic->LatvianGothic
Lezgi->Lezgin
Lithuanian->Lithuanian
Luba->Luba
Macedonian->Macedonian
Malagasy->Malagasy
Malay (Malaysian)->Malay
Malinke->Malinke
Maltese->Maltese
Mansi->Mansi
Maori->Maori
Mari->Mari
Maya->Maya
Miao->Miao
Minangkabau->Minankabaw
Mohawk->Mohawk
Moldavian->RomanianMoldavia
Mongol->Mongol
Mordvin->Mordvin
Nahuatl->Nahuatl
Nenets->Nenets
Nivkh->Nivkh
Nogay->Nogay
Norwegian (Bokmal)->NorwegianBokmal
Norwegian (Nynorsk)->NorwegianNynorsk
Nyanja->Nyanja
Occidental->Occidental
Ojibway->Ojibway
Old English->OldEnglish
Old French->OldFrench
Old German->OldGerman
Old Italian->OldItalian
Old Spanish->OldSpanish
Ossetian->Ossetic
Papiamento->Papiamento
Tok Pisin->PidginEnglish
Pinyin->Pinyin
Polish->Polish
Portuguese->PortugueseStandard
Occitan->Provencal
Quechua->Quechua
Rhaeto-Romanic->RhaetoRomanic
Romanian->Romanian
Romany->Romany
Rwanda->Ruanda
Rundi->Rundi
Russian (Old Spelling)->RussianOldSpelling
Russian->Russian
Samoan->Samoan
Selkup->Selkup
Serbian (Cyrillic)->SerbianCyrillic
Serbian (Latin)->SerbianLatin
Shona->Shona
Dakota->Sioux
Slovak->Slovak
Slovenian->Slovenian
Somali->Somali
Sorbian->Sorbian
Sotho->Sotho
Spanish->Spanish
Sunda->Sunda
Swahili->Swahili
Swazi->Swazi
Swedish->Swedish
Tabasaran->Tabassaran
Tagalog->Tagalog
Tahitian->Tahitian
Tajik->Tajik
Tatar->Tatar
Thai->Thai
Jingpo->Tinpo
Tongan->Tongan
Tswana->Tswana
Tun->Tun
Turkish->Turkish
Turkmen->Turkmen
Tuvinian->Tuvin
Udmurt->Udmurt
Uighur (Cyrillic)->UighurCyrillic
Uighur (Latin)->UighurLatin
Ukrainian->Ukrainian
Uzbek (Cyrillic)->UzbekCyrillic
Uzbek (Latin)->UzbekLatin
Cebuano->Visayan
Vietnamese->Vietnamese
Welsh->Welsh
Wolof->Wolof
Xhosa->Xhosa
Yakut->Yakut
Yiddish->Yiddish
Zapotec->Zapotec
Zulu->Zulu
Korean (Hangul)->KoreanHangul
Russian and English->Mixed
Norwegian->Norwegian
Chinese Simplified and English->ChinesePRC+English
Chinese Traditional and English->ChineseTaiwan+English
Japanese and English->Japanese+English


IVARIANTArray

What it does

Represents a collection of items of Variant type.


On Task Window Page Activate

When it is launched

The script is launched prior to activating the page in the task window (by a double-click or from the menu).

If the value of the DoDefaultAction parameter is set to true, the document, that contains the page, will be opened in the document editor after the script execution. If the DoDefaultAction parameter is set to false, the document will not be opened.

By default, the value of the DoDefaultAction parameter is true.

Parameters

Name | Type | Access | Description
Context | ITaskWindow | Read/write | The task window
PageItem | IPageItem | Read/write | The page being processed
DoDefaultAction | IBoolean | Read/write | Specifies whether to open the document in the document editor


On Open Project

When it is launched

The script is launched upon opening a new project.

Parameters

Name | Type | Access | Description
Context | IMainWindow | Read/write | The main window


Properties of a Document Definition section

You can view and change the properties of a Document Definition section in the properties dialog box that opens when you select Properties… in the shortcut menu

The dialog box contains three tabs.

The General tab

On this tab you can change the name of a document section, enter or edit the description, enter or modify the minimum and maximum number of section repetitions in the document. The Enabled option includes/excludes the section Document Definition from document processing. For details about multipage documents and working with sections, see Creating Document Definitions for multipage documents.

The FlexiLayout tab

If a flexible description has been attached to the section, this tab shows its Name, Version and Comment. You can attach a flexible description by clicking the Load… button and detach it by clicking the Unload button.

For details, see Creating a Document Definition for processing flexible documents.

The Images tab
This tab lists the display parameters for the page images of the section. The following parameters are available: size, resolution, print size, and color mode.

The Rules tab

This tab is intended for actions with Document Definition rules. You can delete, edit or create new rules.

For details see Rule validation.