About ABBYY FlexiCapture 9.0

ABBYY FlexiCapture 9.0 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 9.0 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 9.0 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 9.0 Not Available in ABBYY FlexiCapture 8.0 Professional

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 9.0 architecture and basic principles
Workflow
ABBYY FlexiCapture 9.0 servers
ABBYY FlexiCapture 9.0 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.
Application Server API

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

New features of ABBYY FlexiCapture 8.0 Professional not available in FormReader 6.5 Desktop

Types of documents processed

Multipage documents with a complex structure

The program allows the automatic identification and processing of structured, semi-structured, and unstructured documents with a varying number of pages, recurring pages, and documents with annexes.
Types of documents processed with ABBYY FlexiCapture 9.0
Creating Document Definitions for multipage documents
Creating Document Definitions for documents with annexes

Unstructured documents

Unstructured documents with text or images separated with blank pages, pages with barcode or patch-code are indexed with the help of simple Document Definitions, processed and exported to PDF searchable files or to graphic files.
Processing unstructured documents

Semi-structured multipage documents with complex tables or tables on several pages

Semi-structured multipage documents with tables continuing from one page to another are identified, assembled into documents, and processed with the help of a single flexible description.
Creating a Document Definition for flexible document processing

Fixed forms with tables

To simplify processing of documents containing tables, the program now supports tables in fixed forms.
Creating a table

Recurring elements

The program supports recurring field groups in structured and semi-structured documents. This simplifies the process of configuring the processing of documents containing identical element groups repeating several times, including processing of complex tables with such groups.
Creating a field group

Program architecture

Operator and Administrator modes

The Operator and Administrator modes are enabled when you select different commands in the Start menu. They can be installed on different computers. All program functions are available in the Administrator mode. In Operator mode, the user cannot edit Documents Definitions, import profiles or access test batches.

Working with projects

A project is a single environment uniting document batches and the settings required to process them, such as Document Definitions, import profiles, and suchlike.

A project can be used by different copies of the program: a project can be exported and imported as a single object, a project can be updated or transferred from one computer to another. Different workstations can work with the same projects over a network, making it possible to streamline document processing.
Creating a project
Project properties

Convenient tools for working with background processes

Time-consuming operations, such as adding images, recognition or export, can be performed in background mode, which significantly reduces document processing time. The user can always check the status of any background process, change the priorities of the tasks, and view the processing log.

Background mode

Document Definition editor

Working at document level

Document Definitions are created for the entire document as processing units. A Document Definition determines the way in which documents of a relevant type are identified and processed. Each Document Definition contains page images, assembly rules, descriptions of fields and static elements, verification rules, verification settings, descriptions of data types, and data export settings.
Creating Document Definitions for multipage documents

Switching between image modes

Using the Document Definition editor you can now switch between two image modes: you can view images in the original color and in black-and-white, regardless of the format in which images are added to the batch. A color image simplifies the creation of Document Definitions for color forms, since in this mode you can see field marking and explanatory text: this is necessary in order to draw the field region and assign a name to the field. Viewing black-and-white images is important to make sure that anchors and static text are visible after the binarization that takes place in the process of recognition.

Data form editor

The data form editor makes it easy to create a custom presentation of extracted data and to display them in the most convenient manner for the operator.
Configuring data presentation in the document window

Presentation of fields in a tree form

The document structure is graphically presented as a fields tree. This form of field presentation allows you to quickly edit, copy, delete, and move fields.
Presentation of the document structure in the form of page outlines

The document structure is conveniently presented as page outlines. This makes it easier to view, edit, and create Document Definitions for multipage documents.
Separate viewing of static elements and fields

Static elements and fields are shown separately. Presenting static elements and fields in this way makes it easier to create Document Definitions: this process can be divided into two stages – static elements are created separately, while anchors, separators, anchor text and barcodes do not interfere with the creation of field regions.

Creating fields of a Document Definition
Static elements
Grouping fields

Fields can be combined into groups to enable clear presentation of document structures and the creation of recurring field groups.

Creating a field group
Properties of a field group
Tables in fixed Document Definitions

You can now create a Table field in fixed Document Definitions, which considerably simplifies configuration, data extraction, and data export from tables. A Table field is set of same-type columns and recurring lines.

Creating a table
Table properties
Recurring elements in fixed Document Definitions

Recurring elements are fields or field groups that occur a number of times in the form and which describe similar objects, such as the same details of several employees, children, accounts, etc. The structure of such recurring elements is similar to that of a table: a set of fields is a column, while each repetition is a table row. The Document Definition editor simplifies the configuration and processing of such fields.

Fields with several instances
Fields located on several pages of a form

If your form has fields whose region is located on several pages (for example long tables), the Document Definition editor lets you view them as a single field, greatly simplifying configuration and processing.

Fields with several regions
Automated fixed Document Definition creation

The Document Definition editor offers new tools that automate and simplify the creation of fixed Document Definitions:

  • automatic identification of text fields with a region;
  • automatic identification of vertical and horizontal separators in tables;
  • automatic identification of a field with a single click of a mouse button in the field region;
  • automatic assignment of a field name that matches the nearest explanatory text;
  • recognition and copying of static text from the Document Definition image to field properties;
  • automatic adjustment of field boundaries.
Automatic detection of fields and static elements
How to change a field name
Improving the configuration of data types

We have elaborated the settings of data types to simplify the creation of Document Definition, and to improve the extraction and verification of field data. The most frequently used data types (text, date and time, currency, number) are included in the set of preconfigured data types. In turn, the most frequently used formats of preconfigured data types are included in the set of preconfigured formats and can be selected from the list without the need to create complex rules for format verification.
Data types of the text entry field
Creating custom data types

Description of verification rules using the JScript® language

Verification rules can now be described as script using the JScript® language (in addition to the VBScript language). This allows you to configure any custom rules for verification of data that is extracted.
A rule set with the help of a script
Using scripts to create rules

Index fields

If the option Index field is enabled in the field properties, then values of this field can be displayed in the form of an additional column in the document batch window. Documents can be sorted based on the value of this field. During export, the values of the index fields can be added to the file names, which makes it easier to find the information you need.
Index fields
Rules for naming export files

Additional statuses of Document Definitions

When you open a Document Definition in the Document Definition editor, a temporary local version of the Document Definition is automatically created. This editable version is not included in the processing of documents until it is published. This functionality allows you to organize work with Document Definitions in projects that are split.
Editing and publishing a Document Definition

Testing Document Definitions on special batches in the Document Definition editor

To simplify and speed up Document Definition creation, editable Document Definitions can be tested during creation without the need to exit the Document Definition editor. A Document Definition can be tested while it is being created, on the image that is being used to create the Document Definition. Special test batches can be used for such testing, which are not used for the actual processing of documents.
Testing Document Definitions
Document batches

Image import

Automatic assembly of pages into documents

The incoming flow of images from the scanner or hot folder can be automatically divided into documents, when you use:

  • multipage image formats, such as TIFF or PDF;
  • blank pages, pages with barcodes or patch-codes.
Adding page images
Image pre-processing options
Image import profiles

Image import profiles are used to create sets of preconfigured settings for various document import sources (scanners or folders). An import profile is saved and assigned a name, which can be then selected by the operator from a list.
Image import profiles

Single-click import

Image import according to the settings of the profile last used can be performed with a single click.
Adding page images

Background import mode

Import can be performed in background mode. The program checks for new images in the hot folder at specific intervals.

Background mode

Classification, Document Definition application, recognition

Full-text recognition for export to a PDF-searchable file

The program supports a full-text document recognition scenario with subsequent export to PDF and PDF\A searchable files. This is especially useful when archiving unstructured and semi-structured documents.
New recognition languages

Kirghiz (OCR/ICR)

Kazakh (OCR/ICR)

Thai (OCR)

Supported recognition languages

New barcode types

Matrix 25, Industrial 25, PostNet.

Supported barcode types
Location of corrected characters in fixed forms

If a character entered by mistake has been erased, it is presented to the operator during verification to enable him or her to input the correct character manually.
Ability to remove separator pages

Pages with barcodes, pages with patch codes, and blank pages that are used as separator sheets can be automatically removed from the batch.

Image pre-processing options
Ability to remove blank pages

Blank pages can be removed during recognition.

Project properties

Data verification

Improvements in the verification interface
  • Full-screen mode.
  • The status bar shows the current percentage of verified characters.
Verification of recognized data
New interface configuration possibilities
  • The location of the window with the field image can be changed.
  • The window's scale can be changed. There is also a function for automatic selection of the best scale.
  • The user can change the font size of characters.
Verification of recognized data
Improvements in group verification
  • A popup tip with the context of characters.
  • Configurable size and contrast of the area adjacent to the character.
Group verification
Improvements in field verification
  • Format rules can now be checked during the process of field verification. The user sees an error description and has a list of proposed changes to the value.
  • There is now a mode for displaying a field with character cutting.
  • Multiline fields are supported.
  • Popup tips for characters that simplify understanding, for example, the letter "O" and number "0".
Field verification
On-the-fly field recognition

During verification in the document window, every change in the boundaries of the field region entails an automatic re-recognition of the corresponding image region. This functionality simplifies and speeds up data extraction from fields with inaccurately specified regions.
Improved interface for rule error correction
  • Every rule in the list of rule errors is accompanied by a reference to the relevant field. These references allow you to go quickly to fields with possible errors.
  • The list of error rules can be docked at the bottom, top, right-hand or left-hand side of the document window.
Rule validation
Correction of document assembly errors in page outline mode

A new page outline mode for batch documents is available. This mode is very convenient for correcting document assembly errors, allowing the user to:

  • view page outlines grouped by documents;
  • see mismatches between values of key fields and descriptions of assembly errors;
  • correct assembly errors by moving pages from one document to another, dragging and dropping pages with the help of the mouse;
  • change the scale of page outlines to view details (by holding down the Ctrl key and using the scroll wheel).
Assembling pages into documents
Password-protected PDF files can now be opened

DjVu files can now be added
Supported graphic formats

Export

Export to Microsoft SharePoint

Now you can set up export to Microsoft SharePoint using the program interface.

Exporting data to a SharePoint document library
Single-click export

If export settings have been configured, a document batch can be exported with a single click of a button. This prevents the operator having to perform extra actions and speeds up the document input process.

Exporting recognized data
Export of document images together with data

Together with data export, you can export images of the relevant documents.
Helpful rules for naming resulting files

When exporting data to a file to Microsoft SharePoint, file names are generated automatically based on user-defined rules. You can append the values of index fields to filenames, the value of the barcodes from separator pages, etc. Meaningful file names make it much easier to find the information you need.
Rules for naming export files

New document and image formats

PDF, PDF/A searchable

Supported graphic formats
Linking fields when exporting to a database

Configuration of export to a database is accompanied by a convenient interface for linking fields, enabling the user to quickly match document fields with database fields.

Export to database
Export described with a script

The user can describe any export procedures using the VBScript and JScript scripting languages.

Export described with a script
Using scripts to describe exports
Changing image resolution during export

The resolution of exported images can be modified to suit storage requirements.

Configuring data export
Picture export to file

The image of the entire document or an individual Picture field can be exported to a separate graphic file.
Removing exported documents from the batch

If you do not need to store exported documents in the batch, you can delete them immediately following export.

Exporting recognized data
Additional options


Types of document processed using ABBYY FlexiCapture 9.0

ABBYY FlexiCapture 9.0 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 9.0 (supplied together with ABBYY FlexiCapture 9.0). You can read about designing forms with the help of ABBYY FormDesigner 9.0 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 9.0 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 9.0 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 9.0

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

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 9.0 (Distributed Installation) is a distributed client/server data capture system.

ABBYY FlexiCapture 9.0 (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>\FlexiCapture, 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.

  • Scan Station

    The Scan 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 Scan 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. 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.

  • 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 9.0 License Manager is an application for managing protection keys

Installing ABBYY FlexiCapture 9.0 stations
Processing Server and stations setup
ABBYY FlexiCapture 9.0 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 Scan Stations. To scan pages, the operator of a Scan 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 Scan 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 Scan 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 9.0

Operator is a user of ABBYY FlexiCapture 9.0 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 9.0 (each role is set up for the current project):

  • Scanning Operator - an operator in this role can work on a Scan 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 Scan Station (see Scan 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). The operator needs to check fields with rule errors and, if possible, correct their values.

Data verification is also 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 9.0. It also covers the system requirements for installation.

Protection of the program
License Manager protection key management program
Software and hardware requirements
Installing ABBYY FlexiCapture 9.0
Running the program


Types of protection

To use ABBYY FlexiCapture 9.0, a valid protection key is required.

ABBYY FlexiCapture 9.0 can include one of the following types of protection key:

  • hardware protection key
  • software protection key

Hardware protection key

This is a dongle to be plugged into a USB port on your computer (USB dongle).

For ABBYY FlexiCapture 9.0 to run with a hardware protection key, you need to install the corresponding driver either from the setup program. To use the program, your hardware protection key must be plugged in at all times.

The hardware protection key stores the parameters of your license.

An empty hardware protection key can be activated remotely, using only the serial number of your license. This is done in the License Manager utility, which contacts the activation server over the Internet, requests the parameters of the serial number, and saves them in the key.

Important! You must be able to run the standard SmartCard service in order to use a hardware protection key.

Software protection key

This is a license file.

For ABBYY FlexiCapture 9.0 to run with a software protection key, the license file must be activated on the ABBYY activation server. You can activate your license file from the License Manager utility.

Information required to activate your license file is sent to ABBYY as a code (Product ID) which is generated based on the information about the computer on which ABBYY FlexiCapture 9.0 is installed. No personal information is used to generate a Product ID and this code cannot be used to identify the user.

Activation methods:

  • Via the Internet
    Activation over the Internet is carried out automatically and takes seconds to complete. An active Internet connection is required for this method.
  • By e-mail
    If you choose this activation method, an e-mail activation request will be generated automatically. Send this e-mail message to the address specified. To ensure a prompt reply from the mail robot, please do not alter the subject or the body of the e-mail message.

In the case of activation over the Internet, no additional steps are required. In the case of activation via e-mail, you will receive an activated file from the activation robot. Save this file to your hard disk, run the License Manager utility and provide the path to the saved file in the Activation Wizard.

Repeat activation

You can re-install ABBYY FlexiCapture 9.0 any number of times on the computer on which it was activated. However, if you make substantial upgrades, format the hard drive or re-install the operating system, you may need to activate the product again.

The activation server keeps a log of how many times each serial number has been activated. Once a certain threshold for a serial number is exceeded, the serial number gets blocked and can no longer be activated.

You can de-activate an activated license in order to use it on another computer. When you de-activate a license, the activation server reduces the activation counter for this serial number by one.

Important! You will be able to use the activated program only on the computer on which the Product ID was generated. To move the program to another computer, first de-activate your license.


License Manager

The License Manager utility is used to manage protection keys and to gather information about the status of ABBYY FlexiCapture licenses.

Warning! License Manager is an administrative utility. To use License Manager, the user must have local administrator rights!

The License Manager is installed together with the Application Server.

To launch the License Manager utility:

  • Go to Start>Programs>ABBYY FlexiCapture 9.0 Servers>Tools and select ABBYY FlexiCapture 9.0 License Manager.

Managing licenses

Adding a new license

In the ABBYY FlexiCapture 9.0 License Manager main window, click Select... In the Licenses dialog box, click Activate... Enter your new serial number, click Next. Then select a license activation method and activate your license. The new license will appear in the License Manager main window.

Updating a license

To update a license, go to the list of licenses by clicking the Select... button in the License manager main window. Select the license to update and click Update License ... You will also need to activate your license over the Internet or be e-mail. Follow the instructions displayed on the screen.

License parameters

In the License Manager, you can view the parameters of your licenses . Select a license in the list and click License Parameters... The parameters of the current license are displayed in brief view in the main application window.


License parameters

Each license has its own serial number. A license includes a set of parameters which determines if the user has the right to perform certain document processing operations.

License parameters:

  • General – serial number, licensing method, availability of a virtual machine
  • License purpose – license type (software or hardware), ability to provide document processing services
  • Work stations, Tools – restrictions on the number of stations and development tools (FlexiLayout Studio, FormDesigner).
  • Time, Performance – use restrictions
  • Processing – additional document processing parameters: the use of FlexiLayouts and additional recognition languages
  • Custom components – the use of components developed by the user
  • Import – additional import options
  • Export – additional export options


Software and hardware requirements

Hardware requirements

  1. Intel® Core™2/2 Quad/Pentium®/Celeron®/Xeon™, AMD K6/Turion™/Athlon™/Duron™/Sempron™ 2 GHz processor or faster
  2. 512 MB RAM for each CPU core, but no less than 1 GB
  3. Hard disk space
    • Stations: 1 GB, of which 800 MB is required for installing the stations
    • Application Server: 50 MB
    • Processing Server: 50 MB
    • Database Server: 2 GB (when using Microsoft SQL Server Express Edition)
  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

    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 2.0 or later
  4. Crystal Reports for Visual Studio 2005 (10.2) or later
  5. Adobe Acrobat Reader 9
  6. Database server: Microsoft SQL Server 2005 or 2008

Stations

  1. Operating system:
    • Windows XP SP2
    • Windows Vista SP2
    • Windows 7

    Stations may be installed on computers running under Windows Server 2008 SP2 or Windows Server 2008 R2 provided the Desktop Experience component is installed.

    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. Microsoft Internet Explorer 6, 7 or 8 (in compatibility mode) for Monitoring Station

The servers and stations must be in the same Active Directory.


Installing ABBYY FlexiCapture 9.0

Before installing ABBYY FlexiCapture 9.0, 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 9.0 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 9.0 servers
Installing ABBYY FlexiCapture 9.0 stations
Processing Server and stations setup


Installing ABBYY FlexiCapture 9.0 servers

The servers are installed from the ABBYY FlexiCapture 9.0 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 following components are installed:

  • Net FrameWork 2.0 or later
  • I nternet Information Services 6.0 or 7.0 (installs as a Windows component)
  • Crystal Reports
  • Microsoft SQL Server (select the Mixed Mode option when installing the SQL Server)

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 9.0 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 installer onto the server, in the Custom Setup dialog box, select the Stations Installer option. In this case you will be able to install the stations directly from the server rather from the setup disk.

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 9.0 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 9.0 Stations

The servers are installed from the ABBYY FlexiCapture 9.0 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 and Data 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 9.0 in a local area network

ABBYY FlexiCapture 9.0 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 Station Installer option when installing the Application Server. The files required to install the stations from the server will be copied onto the server.

ABBYY FlexiCapture 9.0 can be easily deployed on multiple LAN computers. Network installation is done in two stages: first, the ABBYY FlexiCapture 9.0 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 9.0

Repairing and removing ABBYY FlexiCapture 9.0

To repair corrupted or deleted files:

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

  2. Select the Repair item and click Next.

To remove ABBYY FlexiCapture 9.0 from your computer:

  1. Select Start > Control Panel > Add or Remove Programs, then select ABBYY FlexiCapture 9.0 Servers or ABBYY FlexiCapture 9.0 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 9.0 Servers/Processing Server to start the Processing Server Monitor
  • Start/Programs/ABBYY FlexiCapture 9.0 Servers/Administration and Monitoring Console to open the main page of the console in your browser and control the Application Server

ABBYY FlexiCapture 9.0 stations are started by selecting the corresponding menu items from Start/Programs/ABBYY FlexiCapture 9.0 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:"project 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 9.0.

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 9.0 rules compared.
  2. For recommendations on migrating from FormReader 6.5 If-Then rules, Automation rules, and Automation export to FlexiCapture 9.0 scripts, see Migrating from FormReader 6.5 rules and export to FlexiCapture 9.0 scripts.


ABBYY FlexiCapture 9.0 architecture and basic principles

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

ABBYY FlexiCapture 9.0 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 Scan 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 9.0 servers

ABBYY FlexiCapture 9.0 (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

You can also create a File Storage Folder (optional) to store your prject files.


Application Server

The Application Server ensures the correct operation of the entire ABBYY FlexiCapture 9.0 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 following components are installed:

  • Net Framework 2.0 or later
  • Internet Information Services 5.1, 6.0 or 7.0
  • Crystal Reports (to print reports in the Administration and Monitoring Console)
  • Microsoft SQL Server (select the Mixed Mode option when installing the SQL Server)

Note: If the above components are not installed on your computer, all of them (with the exception of Internet Information Services) can be installed from the ABBYY FlexiCapture 9.0 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 Scan 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 9.0 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 9.0 Servers> Processing Server.
    2. On the server tree, select ABBYY FlexiCapture 9.0 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.

  • 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
      • 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
    3. Click [image] to start the station.

    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 Connect from the shortcut menu.

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

  • 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 (Warnings).
    4. Specify which messages will trigger logging information about the task.

      Note: We do not recommend disabling the Warnings 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.


Protection Server

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

ABBYY FlexiCapture 9.0 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 9.0 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 9.0 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 9.0 License Manager, which is installed together with the Protection Server.

To launch the ABBYY FlexiCapture 9.0 License Manager:

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

Adding a new license

To add a license:

  1. In the ABBYY FlexiCapture 9.0 License Manager main window, click Select.
  2. In the Licenses dialog box, click Activate...
  3. Enter your new serial number, click Next and follow the instructions of the ABBYY FlexiCapture 9.0 Activation Wizard.

    Note: If no licenses have been added, when you launch the ABBYY FlexiCapture 9.0 License Manager, the ABBYY FlexiCapture 9.0 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 main ABBYY FlexiCapture 9.0 License Manager window, click Select...
  2. In the Licenses... dialog box, select the license to update and click Update...
  3. Select an update method and update your license.

Deactivating a license

To deactivate ("release") a license:

  1. In the main ABBYY FlexiCapture 9.0 License Manager window, click Select...
  2. In the Licenses... dialog box, select the license to deactivate and click Deactivate.


File Storage Folder

The project files (i.e. documents, Document Definitions, etc.) may be stored either in a database or 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.

Choosing between a File Storage Folder and a database to store your project files does not affect the system's performance or security. However, the use of a File Storage Folder means that you can store many more documents (images) in the projects on the Application Server and, unlike in Microsoft SQL Server Express Edition, there are no restrictions on the total size of the stored files.


ABBYY FlexiCapture 9.0 stations

The complex includes the following stations:

  • Project Setup Station

  • Scan Station

  • Processing Station

  • Data Verification Station

  • Verification 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 9.0 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, integrity check rules, 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 9.0 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.


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>/FlexiCapture 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.

Note: The operator that creates the database on the Application Server is automatically granted Administrator rights.

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

  • the name of the SQL server instance

  • 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. Alternatively, the project files can be stored in a database. If the project files should be stored separately, 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 Update 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 export 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.

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 the following:

  • Batches - the console displays the list of batches, batch statistics, and the active processing stages

  • Tasks - the console displays the list of tasks and task statistics

  • Sessions - the console displays the list of open sessions

  • Current processing status - the console displays the list of processing stages and the number of document or batches in each stage

  • Event log - the console displays the list of events and information about each event

  • Error log - the console displays the list of errors and description of each error

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 document processing report - a separate report is created for each project

  • Full Data Verification Operators report

  • General Data Verification Operators report

  • Full Verification Operators report

  • General Verification Operators report

Note: Verification Operators reports and Data Verification Operators reports are generated based on all projects.


Scanning Station

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

The purpose of the Scan 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 Scan 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 Scan Station Help for details).

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

  • Launch the Scan Station
  • 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 Scan Station.


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 9.0 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 Verification Station.

If the Data Verification Operator encounters problems processing the documents, they can send the batch or documents into the exceptions queue 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 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 queue except the Exceptions queue and the export confirmation queue
  • 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.

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.

  • 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.

  • 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.

  • 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 batches or documents are exported automatically in unattended mode. If the processing parameters include a separate Export Confirmation queue, the Senior Verification Operator must first receive the task from the queue and then send it back into the queue. If an error occurs, the batch or documents are automatically sent to the exceptions queue.

  • Exceptions

    Problem batches or documents, which the operators 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.

The station also offers Details and Thumbnails views. In Details view, 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.


Processing Station

Processing Stations run in unattended mode and handle the following tasks: loading images from Hot Folders, applying Document Definitions and recognizing documents, rule validation, 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 by selecting Start>Programs>ABBYY FlexiCapture 9.0 Stations>Processing Station. A Connect to Station dialog box opens.
  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 Server are installed on different computers)
    • Local host (if the Processing Server and the Processing Server 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.

Note: Only an operator with Administrator permissions can launch Processing Stations and monitor the tasks (i.e. view task details, cancel tasks, and view logs).


Processing stages and queues

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. As the processing progresses, the documents are moved from the first queue (recognition) towards the last queue (export). Usually, queues correspond to processing stages, but there are also special queues, such as the exceptions queue.

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 queues for data verification, verification, document assembly checks, and export confirmation.

All the processing stages and the corresponding queues are optional, with the exception of the recognition and export stages. Whether a queue is required or not, is specified for each batch type on the Project Setup Station.

Queues

  1. Recognition

    A required queue in which only entire batches are processed. Recognition is done automatically on the Processing Station.

  2. Document assembly check

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

  3. Data verification

    An optional queue. The tasks from this queue can be processed on the Data Verification Station or on the Verification Station. If the percentage of uncertain characters is lower than the specified threshold, the document is sent to data verification.

  4. Verification

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

  5. Batch integrity check

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

  6. Export confirmation

    An optional queue 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 queue are processed on the Verification Station.

  7. Export

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

  8. Exceptions

    A required queue. Documents with errors are sent to this queue after automated processing. Besides, operators may also send documents to this queue if they cannot process them for some reason.

Note: In the batch type settings, you can specify if batches should be verified and exported in their entirety or document by document.


Workflow

Documents can be processed automatically without human intervention or with the assistance of Verification Operators.

In the attended 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.

If human operators are involved, the batch processing parameters, such as verification and export, must be set up. Additionally, document verification can be subdivided into separate stages, i.e. put each stage into a separate queue. 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 on a document processed in unattended mode, the document is sent to the exceptions queue. Likewise, an operator may send a document to the exceptions queue.

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 9.0 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 (Settings>Application Server, Create new database button) and specify the following:

  • SQL Server instance name
  • Database name
  • Authentication type

  • 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.

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. Storing files in the database facilitates backups but increases the size of the database.


Granting access rights to users

Access rights are granted by the Administrator in the Administration and Monitoring Console. Rights are granted to a user or to a process.

The roles Processing Server, Monitoring Operator, and Administrator are project-independent. All other access rights apply only to individual projects. Therefore, you need to create a project first.

Note:

  • The Administrator role is automatically given to the user that has created the database.
  • Access rights to the Processing Server are granted to the account under which the server is running (<domain name\computer name>$).

Once the Administrator has created a project on the Project Setup Station and uploaded it to the Application Server, the Administrator can grant access rights to the operators that will be working on this project. Roles and access rights may be granted to individual users or to groups. In the latter case, once a user is included into a group, the user automatically gets all the access rights granted to this group.

To create a new user account:

  1. Start the Administration and Monitoring Console by selecting Start>Programs>ABBYY FlexiCapture 9.0 Servers>Administration and Monitoring Console.
  2. Select Settings>Users and groups.
  3. Select the project from the overall list of projects.
  4. Add a new user account by specifying the user's domain name (Add field) and click User.
  5. Specify the role (e.g. Scanning Operator) and specify the batch types accessible to this operator.

Note: When the user tries to log into the station or start the Processing Server, the user or process account will appear in the list of users. Next, the Administrator gives the user a role.

To create a group:

  1. Start the Administration and Monitoring Console by selecting Start>Programs>ABBYY FlexiCapture 9.0 Servers>Administration and Monitoring Console.
  2. Select Settings>Users and groups.
  3. Select the project from the overall list of projects.
  4. Add a new group account by specifying its name (Add field) and click Group.
  5. Specify the access rights and roles and specify the batch types accessible to the operators of this group.
  6. Add users to the group.


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 9.0 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.

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 (the Tasks node in the Processing Server tree).


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.

  1. Select Unattended or With verification mode.
    • In 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 unattended mode, batches are processed in their entirety.
    • In With verification mode, you need to specify verification parameters, whether the entire batch or individual documents should be exported, and specify separate queues for the different verification stages.
  2. Verify entire batches
    • If this option is selected, the entire batch is sent to verification (i.e. the batch will not be forwarded unless all of its documents are recognized).
    • If this option is not selected, each document from this batch is sent to verification as soon as it is recognized.
  3. Skip verification and data verification if there are no errors and percentage of highlighted symbols is equal to 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.
  4. Export entire batches - the batch is not exported until all of its documents are processed.
  5. Delete processed documents after export - automatically deletes processed documents after they are exported.
  6. Use separate queues for:
    • documents assembly check
    • data verification
    • batch integrity check
    • export confirmation

    Creating separate verification queues 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 queues are handled by one operator, he/she will have to do all the tasks in turn: take the document from the Document Assembly Check queue, check the assembly, take the data from the data verification queue and verify them, etc.


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 name of the project, the path to the project files, and a description of the project. You can also specify the root folder for exporting to files in the Export root path field.

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 Integrity Check tab, select Run batch integrity check before export if you wish to run a script that will check batch integrity prior to export. Click Edit Check Script… if the script needs editing.

The Export tab displays the default export settings. You can change these settings if required. The Run script after export option enables the export handler. For more information about the export handler, see Using scripts to describe export and Sample scripts describing export. To export unrecognized documents, select Export unknown documents and specify export settings in the Unrecognized Documents Export dialog box, which appears when you click Edit…

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


Batch Types

ABBYY FlexiCapture 9.0 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
  • batch integrity check
  • default batch export
  • batch processing

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 9.0 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).


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).


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 9.0 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.

  • 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 9.0 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. Additional table processing tools will appear on the toolbar:
    Creating a table column
    Creating separators
    Removing a separator
  2. Mark off table cells by creating the required number of separators. To create separators, select the [image] tool and click where the separator should be placed. To create vertical separators, place the cursor into the table area, drag the dotted pointer to the desired location 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, select the [image] tool and click in the column region. 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

It is very important that you assign a data type to a text entry field in order to tell the program what type of data you expect to see in this field: be it only numbers, letters of a certain alphabet, characters from a certain set, a date or suchlike. The mechanism for setting data types is very flexible and the user can both select a data type from a list of available data types and create custom data types suitable for a specific task.

When specifying data types, you can configure the format check of the input value and set value constraints, such as a constraint of text length, minimum and maximum value for the number, time interval and date.

The allowed values of a field can also be restricted by an external; source - a text file or a database.

If during document processing the recognized field value does not match the set data type, the operator will see an error message.

The data type for the text entry field can be specified on the Data Type tab of the field properties dialog box.

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.
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.
  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…
  • 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.


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. If the specified characters occur in the recognized field value, they will be replaced automatically.
  • 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 a 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.

  • Don't recognize (Key from Image field - will be entered manually) – enable this option 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.

  • 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.

  • Markup 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 singe 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.


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.


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. 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.

For more information about the scripts, see Using Scripts in FlexiCapture 9.0.


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.

  • 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.


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


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).
  • 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.


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 9.0 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.

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.

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 items to add up.
  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 two values match. In the event of a mismatch, a rule error message is displayed.

To create a database 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 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
  7. Select a database schema and table from the list.
  8. 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. Select the match type:
    • Exact – field values must match exactly.
    • Fuzzy – field values must match partially. 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. 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.
    • Do not compare – comparison will not be performed, the field value will be replaced with a value from the database (option Copy field value from database enabled).
  9. 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 9.0 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.

Note: 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…).

For details on creating rules using a script, see Using scripts in FlexiCapture 9.0


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.

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 summed up 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-zero summands to be used.
  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. Four types of export are possible: export to a 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. If an export type is obligatory, failure of this type of errors returns an error. If an export type is optional, its failure does not result in an error.

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.

Auto export is set up on the Export tab of the Document Definition Properties dialog box. Select Enable auto export to allow auto export of documents.

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. You can select a language (or languages in the case of multi-language documents) that is different from the language specified in the Document Definition: click Select… to the right of the Language field and select the appropriate languages. If you want to use the language specified in the Document Definition, select As in Document Definition in the Language field.
  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. You can select a language (or languages in the case of multi-language documents) that is different from the language specified in the Document Definition: click Select… to the right of the Language field and select the appropriate languages. If you want to use the language specified in the Document Definition, select As in Document Definition in the Language field.
  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.
    • Select a schema from the dropdown list.
    • You can check the connection with the database by clicking the Test Connection button.

      Tip: OLE DB Provider for ODBC Drivers is recommended as OLE DB Provider. Selecting OLE DB Provider for SQL Server may cause problems when working with certain data types and long fields.

    • Match Document Definition fields with the columns of database tables. To do so, click Setup Fields Mapping…
    • 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.

      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.

      The Show linked columns option is enabled by default. If you disable it, the list of available table columns on the right-hand side of the tree will not display columns for which export has already been configured.

  7. If images should be saved, 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 File Naming Options…) 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.
  8. If images should be saved, 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. You can select a language (or languages in the case of multi-language documents) that is different from the language specified in the Document Definition: click Select… to the right of the Language field and select the appropriate languages. If you want to use the language specified in the Document Definition, select As in Document Definition in the Language field.
  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.


Exporting data to a SharePoint document library

ABBYY FlexiCapture 9.0 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. Administrator rights are required to set up export of data to SharePoint. Contributor rights are sufficient to export data to SharePoint.
  2. 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 File Naming Options…) 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. You can select a language (or languages in the case of multi-language documents) that is different from the language specified in the Document Definition: click Select… to the right of the Language field and select the appropriate languages. If you want to use the language specified in the Document Definition, select As in Document Definition in the Language field.
  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 (JScript(r) or VBScript).
  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.

Note: 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…).

For details of describing export with a script see Using scripts in FlexiCapture 9.0


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.

File name and path formation can be configured in the Export File Destination 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.


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.

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.

  • Check equality of key fields – 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.
  • Enable annex pages – enable this option if you want to process documents with annexes.
  • Sometimes you may wish to disable the checks for the order of sections in the document (e.g. if the order of sections does not affect document assembly). Select the Disable sections order check to disable the checks. The program will still check that all the sections are present in the document, but their order will be ignored.

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 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.


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 9.0.

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 9.0.

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 9.0 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 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.

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.

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 – 1). If you want to check the values of key fields, enable the option Check equality of key fields and select a key field in each section.

Sometimes you may wish to disable the checks for the order of sections in the document (e.g. if the order of sections does not affect document assembly). Select the Disable sections order check to disable the checks. The program will still check that all the sections are present in the document, but their order will be ignored.

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 9.0 is intended for designing flexible descriptions (supplied together with ABBYY FlexiCapture 9.0). You will find detailed instructions for designing a flexible description in the Help Topics of ABBYY FlexiLayout Studio 9.0.

A flexible description is exported to an .afl file and then loaded in ABBYY FlexiCapture 9.0. 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.

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 9.0 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 9.0 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 Project>Test Batches menu of the main program window. You can also access test batches from the Document Definition editor window by selecting Tools>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 Document>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 Document>View menu to rearrange the windows and the Document>Verification menu to navigate the verification items, uncertain characters, and rule errors. Click the Finish Test button or select Document>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 Tools>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 Scan Station (see Scan 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. Specify the path to the hot folder by clicking the Browse… button

    Important! To be able to add images from the hot folder, the user must have read and write privileges for this folder.

  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. 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.
    • 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.
      • From subfolder - adds files from the subfolders whose name complies with the specified format. Click Settings… to specify a name format.
      • 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.
      • 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 5 files will be imported.
      • Single file – a single file will be added.
    • 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


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. 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.
  3. 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 matched – 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. 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.


Default export settings

Default export settings are used when exporting to a file or database without using Document Definition settings and also for Document Definitions for which no export settings have been configured.

Export settings are configured for each Document Definition, but sometimes you may need to export to a different storage location, for example, for a test export. In this case the operator can use the export button menu and export to file or database with settings that differ from the Document Definition settings. See Exporting recognized data. Default settings are used when you export for the first time. If export settings are later modified, export settings used the last time will be saved.

Default settings for export to file or database can be configured on the Export tab of the Project Properties dialog box (main window menu item Project > Project Properties…). This tab shows the current default export settings. You can configure settings for export to file or database. To modify default export settings, click Edit… and configure export settings similar to export settings in the Document Definition (see Configuring data export).


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 Scan 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 9.0. 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.


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. The verification stage may be optional. The other stages are non-optional.

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 Scan 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 Scan 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 Scan 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 when scanning in the black-and-white mode and 200 dpi when scanning in the grayscale mode. 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.


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 Section of Document Definition… from the shortcut menu of the page or the main menu item Recognition>Match Document Definition…;
  3. In the Select Section 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 9.0 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. To this end, when creating a Document Definition for multipage document processing, you must describe the assembly principle. You can also configure verification of key fields.

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 grouping character images recognized as having identical values and displaying them on the verifier screen, enabling the operator to easily identify and correct characters that deviate from the group.

Show group verification window

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 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.

Character status can be also switched using the Toggle button on the toolbar.

You can confirm correctly recognized characters by selecting Confirm from the shortcut menu. To confirm all characters at once, click the Confirm All button on the toolbar.

Note: When creating a Document Definition, you can modify verification options when configuring field properties. Characters in fields with the option Send characters to Group verification enabled on the Verification tab in the field properties dialog box are submitted for group verification. See Field verification properties. For group verification, we recommend that you submit checkmarks and fields that can be filled only with numbers. Letters are better checked within the context of a field.


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, the user needs only view this field and know its range of values. Both input errors and field format errors can be corrected.

Show field verification window

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.

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 later.

Note: Fields with the option Send to Field verification enabled on the Verification tab in the field properties dialog box are submitted for field verification. See Field verification properties. For field verification, we recommend submitting one-line fields with a well-known range of values.


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.

You can configure the window layout by clicking the Layout button. In the document window, the operator then sees not just character groups or separate fields but the entire document.

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, uncertainly recognized characters, rule errors, mismatches of key fields, etc.


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.


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 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 9.0 Interface

This section describes the main elements of ABBYY FlexiCapture 9.0 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.

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).

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 9.0
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° Counterclockwise | 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 Details… | 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 Assembly Error | Goes to the next assembly error
Previous Assembly Error | 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 9.0 help file
Technical Support… | Opens the Technical Support section in the program help
How to Buy ABBYY Products… | Opens the Buying ABBYY FlexiCapture 9.0 section in the program help
ABBYY Website… | 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 9.0 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.

Show the main window displaying the list of queues

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.

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
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 9.0
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° Counterclockwise | 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 Details… | 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 Task to Exceptions… (for the Senior Verification Operator - S&end Task to Stage…) | Sends the current task to Exceptions (the Senior Verification Operator can send the task to any processing stage)
Automatic Task Receive | Enables/disables automatic task getting
Send Document to Exceptions… | Sends the selected documents to a new Exception
Add Document to Exception… | Adds the selected documents to an existing Exception
Remove Document from Exception | Deletes the documents from the Exception
View Exceptions List… | Shows the list of Exceptions
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 Assembly Error | Goes to the next assembly error
Previous Assembly Error | 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 9.0 help file
Technical Support… | Opens the Technical Support section in the program help
How to Buy ABBYY Products… | Opens the Buying ABBYY FlexiCapture 9.0 section in the program help
ABBYY Website… | 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 9.0 dialog box containing brief description of the program.


Verification station toolbar

Verification 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 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.
Send to Exceptions (to the processing stage) |  | Sends the task to Exceptions (for the Senior Verification Operator - to the selected processing stage).
Postpone Task…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 the tasks are taken from (data verification queues).

Show the main window displaying the list of 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 that are currently carried out. When you position the cursor over menu items and 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 FlexiCaptuer 9.0
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 to the task
Reject Task | Rejects the current task and returns it to the Application Server
Send Task to Exceptions… | 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 9.0 help file
Technical Support… | Opens the Technical Support section in the program help
How to Buy ABBYY Products… | Opens the Buying ABBYY FlexiCapture 9.0 section in the program help
ABBYY Website… | 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 9.0 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.
Send Document to Exceptions… |  | Sends the task to Exceptions.
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. This window is only available on the Project Setup Station.

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
Script Modules |
Rule Script… | Opens the Rule Global Script Module of the Script Editor. For more about script modules, see Using scripts in FlexiCapture 9.0.
Export Script… | Opens the Export Global Script Module of the Script Editor. For more about script modules, see Using scripts in FlexiCapture 9.0.
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° Counterclockwise | Rotates image by 90° counterclockwise
Rotate 180° | Rotates image by 180°
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
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
Document
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 next uncertain character.
Next Rule Error | Goes to the next rule error.
Previous Rule Error | Goes to the previous rule error.
Tools
Menu item | Description
Autodetect Objects… | Automatically detects and highlights fields and static elements of a certain type (depending on the mode)
Check Document Layout | Checks the Document Definition
Match Section | Checks the matching of a Document Definition section
Switch to Test Batch… | Allows testing the Document Definition using test batches
Help
Menu item | Description
Help Topics… | Opens the Help Topics of ABBYY FlexiCapture 9.0
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
Create Column |  | Used to create a table column and specify its type. To create a column, select this tool and click in the region where you intend to create it. Select a column type from the dropdown list.
Draw Table Separator |  | Adds horizontal and vertical separators to the table.
Delete Separator |  | Deletes a separator


Group verifier window

Group Verification Window

The Group Verification window appears at the start of verification, provided that the Document Definition contains fields with the Send characters to Group verification option selected. For more information, see Field Verification Properties.

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.

Group Verification Window Menu
Group Verification Window Toolbars


The group verifier menu

s

Group Verification 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 Exceptions… | Sends the current task to Exceptions
Reject Task | Rejects the current task (it will be returned to an 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/hides 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
Preferences… | Allows setting up the area adjacent to the character
Help
Menu | Description
Help Topics… | Opens the help file of ABBYY FlexiCapture 9.0
About ABBYY FlexiCapture… | Opens the About ABBYY FlexiCapture 9.0 dialog box with brief information about the program.


The group verifier toolbars

Group Verification 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
Send to Exceptions |  | Adds the task to Exceptions
Reject Task |  | Rejects the taskе. It will be then sent to another operator
Refresh |  | Refreshes information about the tasks


Field Verifier window

Field Verification Window

The field verification window appears after group verification finishes, provided that the Document Definition includes fields with the Send to Field verification option selected. For more information, see Field Verification Peoperties.

This window is used to visually verify uncertainly recognized characters in the context of the whole field. See Field Verification.

Field Verification Window Menu
Field Verification Window Toolbars


The field verifier menu

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 Exceptions… | Sends the current task to Exceptions
Reject Task | Rejects the current task (it will be returned to an 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/hides 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
Preferences… | Allows setting up the area adjacent to the character
Help
Menu | Description
Help Topics… | Opens the help file of ABBYY FlexiCapture 9.0
About ABBYY FlexiCapture… | Opens the About ABBYY FlexiCapture 9.0 dialog box with brief information about the program.


The field verifier toolbars

Field Verification Window Toolbars

The standard toolbar

Tool | Button | Description
Previous Field |  | Goes tot the next 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 values 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.
Send to Exceptions |  | Sends the current task to Exceptions.
Reject Task |  | Rejects the current (it will be later sent to another Operator by the server).
Refresh |  | Refreshes task information


Appendix

Designing machine-readable forms
Hot keys
Using scripts in FlexiCapture 9.0
FormReader 6.5 and FlexiCapture 9.0 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


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…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° Counterclockwise | 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 Assembly Error | F9
 | Previous Assembly Error | 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…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…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° Counterclockwise | 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 Assembly Error | F9
 | Previous Assembly Error | 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

Data Verification Station Keyboard Shortcuts

Menu | Command | Shortcut
File | Exit | Alt+F4
View | Full Screen | F11
 | Refresh | F5
Tasks | Get Task | Ctrl+G
Help | Help Topics | F1


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° Counterclockwise | 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 Layout | 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 Markup 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 Symbols Menu | Show Character Image | F2
 | Confirm | Ctrl+E
 | Postpone | Ctrl+R
 | Reset | Esc


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


Using Scripts in FlexiCapture 9.0

This section describes how to use scripts to create custom rules, to run an export, and to create export handlers in FlexiCapture 9.0.

Two scripting languages are supported – JScript® and VBScript.

Specifics of usage

In VBScript it is mandatory to use the keyword Me when referring to methods and fields of a current object (the alternative of "this" in C++ and Java). A current object is a verifiable document unit (a unit containing a rule) for rules and an exportable document for export.

Me.CheckSucceeded = False

In the same situation in JScript you can omit "this":

this.CheckSucceeded = false; CheckSucceeded = false;

Errors such as "Method or Property not Found" are output during script runtime:

ChecckSucceeded = false; // runtime error

Syntax errors are output when a script is saved:

CheckSucceeded +++ false; // syntax error

Custom functions

The script editor allows users to create their own functions and procedures and then to call them from the code of the rules or from the code of export.

Custom functions can be created in one of the global modules – either in the export module or in the rules module. You can select the desired module in the script editor.

All functions within one module must be written in the same language. The core code of a rule or export can be written in a language different from that used in the corresponding global module.

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.

Functions can only be called from "their own" modules. This means that from the code of rules you can only call functions contained in the global rules module, and from the code of export you can only call functions contained in the global rules module. Otherwise, you will get an error during execution.

Functions are called as follows:

[VBScript]

result = Rules.SomeFunction( param1, param2 … )

Export.SomeFunction param1, param2 …

[JScript]

result = Rules.SomeFunction( param1, param2 … );

Export.SomeFunction( param1, param2 … );

Script execution timeout

The default timeouts are 10 seconds for rules and 1 minute for export.

To change the default timeouts, change the corresponding values in the registry.

For rules:
HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\9.0\Controller\ScriptSupport\DefaultScriptTimeout

For export:
HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\9.0\Controller\ScriptSupport\ExportScriptTimeout

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. For rules, an error message is returned "Script execution timeout". For export, a similar message is displayed in the batch window in the Processing Notes column.

Using scripts to create rules
Using scripts to describe export
Migrating from FormReader 6.5 rules and export to FlexiCapture 9.0 scripts


Using scripts to create rules

Rules based on scripts (ScriptRule) enable users to create complex custom algorithms for document validation and normalization using the standard scripting languages JScript® and VBScript.

Note: Some scripts created using the first release of ABBYY FlexiCapture may not function in the second release. This is because field values have become typified in the second release, whereas text values were used in the first release. To solve the problem you can a) change the Value property to Text for scripts that work with the text of a field, or b) change the use of the Value property so that it conforms to its current description. See the properties of the Field object.

Auto-replace scripts and batch integrity scripts are also described in this section.

Object model

A rule should be viewed as a method of validated document unit, i.e., the reference "this" or "Me" refers to the object [Validated Document Unit] to which this rule currently applies.

A rule can perform document validation based on the values of one or more fields. In the event of error output, it is required to set an error flag and, if required, specify the error description, focus field and proposed replacement variants. A rule can also mark a certain field as certainly recognized.

A rule can perform document normalization by changing field values to a normal appearance or adding information (for example, date of last processing).

Validated document unit

Properties:

Name | Type | Access | Description
CheckSucceeded | Boolean | Read/write | Error flag. True – there is no rule error, False – there is a rule error
ErrorMessage | string | Read/write | Error message
FocusedField | [Field] | Read/write | Focus field
Field("AliasName") [Field] Read only Field with the alias AliasName

An alias is a special name for a field that is used when accessing the field from the code of a rule. Therefore, renaming a field will have no effect on the use of the field in the code of the rule.

Aliases also allow you to use in one rule fields with identical names (e.g. fields with identical names from different sections).

An alias may be either identical to the name of the field or different.

When you add a field to a rule, an alias is generated automatically for it, but you can modify or change any aliases generated by the program.

Fields | [Collection of fields] | Read only | A collection of fields participating in the rule
Document | [Document] | Read only | A document containing a validated unit
IsModuleAllowedByLicense | Boolean | Read only | Checks if the module is accessible based on the license parameters. Parameters: author ID, module ID (strings).

Where the validated document unit is a field, it supports all properties and methods belonging to the [Field] object. If the validated unit is not a field, you cannot refer to these properties and methods, as this will cause an error.

Field

Properties:

Name | Type | Access | Description
Value | Variant | Read/write | Typified value of the field. For numerical fields, contains a floating point number. For "Date/Time" fields, contains the value of the date (VT_DATE). For "Currency" fields, contains the sum value (VT_CY). For checkmarks, contains a Boolean value. When assigning values to a checkmark, you can use both Boolean true/false values and text "True"/"False" values (case sensitive). The value of a checkmark group is a list of the names of the selected checkmarks separated by a semicolon (;). If no checkmarks have been selected, the string will be empty. To change the value of a checkmark group, assign the "true" value to those checkmarks that you need to select and "false" to the ones you don't need to select. At the same time, all of these checkmarks must be included in the rule. For groups, tables and pictures – empty string. You cannot assign values to groups, checkmark groups, and tables. An attempt to assign a value to these types of fields will cause an error.
Text | string | Read/write | The text value of a field. Coincides with Value for all types of field except checkmarks. In the case of checkmarks, the value of this property is determined based on the field properties selected on the Data Type tab. Important! The value of the Text property does not change when the rule is applied, i.e. changing the Value property in the code of the rule will not simultaneously change the Text property. In the sample below, the values of oldText and newText will be the same: Dim oldText, newText oldText = me.Field("FieldName").Text me.Field("FieldName").Value = newValue newText = me.Field("FieldName").Text
Name | string | Read only | Field name
IsVerified | Boolean | Read/write | A flag showing whether the field has been verified or not. A field flagged as verified will be ignored during verification and when counting the characters for which verification is required. This property is set to true, if the user confirmed the field during verification or if some rule has set the value of the property to true. Otherwise, the value of the property is false.
IsCertain | Boolean | Read/write | Field certainty flag. A field marked as certainly recognized will be ignored during verification and calculation of characters that need verifying. This property is obsolete and has only been retained for backward compatibility. Please use the IsVerified property instead.
IsMatched | Boolean | Read only | A flag showing whether a field matches or not.
Items | [Collection of fields] | Read only | In case of a multiple field a collection of its instances. If a field is not multiple – 0.
IsValid | Boolean | Read only | Flag that shows if the field has no format errors.
SuspiciousSymbols | string | Read only | A string of 1's and 0's, where 1's correspond to unreliably recognized. For checkmarks, a one-character string is returned.
Regions | [Collection of regions] | Read only | Collection of field regions.

Methods:

Name | Parameters | Description
Suggest( text ) | Variant | Adds a hint with a suggested field value. To set several variants, call up the method sequentially the required number of times. The value of the hint you add must correspond to the type of the field (i.e. it must be a number for numerical fields, date for "Date/Time" fields, etc.).

Collection of regions

Properties:

Name | Type | Access | Description
Count | Integer | Read only | Number of regions in the collection
Item(index) | [Region] | Read only | Region with index index. index assumes values from 0 to Count – 1

Region

Properties:

Name | Type | Access | Description
PageIndex | Integer | Read only | The index of the page on which this region is positioned.
Rects | [Collection of rectangles] | Read only | The collection of rectangles making up the region. Contains only one rectangle in case of a rectangular region.
SurroundingRect | [Rectangle] | Read only | Enclosing rectangle of the region.
Picture | IPicture | Read only | The picture for this region.

Collection of fields

Properties:

Name | Type | Access | Description
Count | Integer | Read only | Number of fields in a collection
Item(index) | [Field] | Read only | Index field. Index can have values from 0 to Count – 1

Document

Methods:

Name | Parameters | Description
Pages | [Collection of pages] | Collection of document pages.
Property( name ) | name – property name | Returns the value of the queried property. Type of value returned – Variant.

Document properties that can be set using the Property method (the document properties that this method gets are read-only):

Value | Type | Description
"TemplateName" | String | Document Definition name
"TotalSymbolsCount" | Integer | Number of characters
"UncertainSymbolsCount" | Integer | Number of uncertainly recognized characters
"RecognizedSymbolsCount" | Integer | Number of recognized characters
"Comment" | String | Comment
"Created" | Date | Created on
"CreatedBy" | String | Created by
"Recognized" | Date | Recognized on
"RecognizedBy" | String | Recognized by
"Modified" | Date | Last modified
"ModifiedBy" | String | Modified by
"ProcessingErrors" | String | Errors
"ProcessingWarnings" | String | Warnings

Page

Name | Type | Access | Description
ImageSource | string | Read only | Name of image source (file name, scanning profile name).
ImageSourceType | string | Read only | A string that describes the image source type. Possible values: File, Scanner, Custom, or empty.
ImageSourcePageNumber | Integer | Read only | The number of the page in the source file.

Format check and auto-replace using a script

Object model

The reference this or Me points to the object to be checked and to which the script is being applied.

The script allows you to check a filed value and edit it if required. Also, you can specify an error message.

Object to be checked

Properties:

Name | Type | Access | Description
Text | string | Read/write | The string that contains the value of the field.
SuspiciousSymbols | string | Read only | A string of 1's and 0's, where 1's correspond to unreliably recognized. For checkmarks, a one-character string is returned.
ErrorMessage | string | Read/write | Error message.

Batch integrity check

Object model

The reference this or Me points to the object to be checked and to which the script is being applied. The object contains the batch and processing results.

The script allows you to check the batch for integrity and return the result. If required, an error message may be created.

For a document, general information about the document is sufficient, no data about its elements are required. However, data about the key fields are also available (same as for export). Therefore, if you need to use a value of a field in an integrity check, the field must be a key field.

Object to be checked

Properties:

Name | Type | Access | Description
Batch | [Batch] | Read only | Batch to be checked.
CheckSucceeded | Boolean | Read/write | The result of the batch integrity check.
ErrorMessage | string | Read/write | Error message.

Batch

Properties:

Name | Type | Access | Description
BatchTypeName | string | Read only | Name of batch type
Documents | [Collection of documents] | Read only | Documents in the batch. For a document, general information about the document is sufficient, no data about its elements (fields, pages) are required. However, data about the key fields are also available
RegistrationProperties | [Collection of registration parameters] | Read only | The registration parameters of the batch.
RegistrationProperty (Name) | string | Read only | The value of the batch registration parameter with name Name.

Page

Properties:

Name | Type | Access | Description
TemplateName | string | Read only | Section name
ImageSourceType | string | Read only | The type of the image source. May assume the value File or Scanner
ImageSource | string | Read only | Image source In the case of a file, this is the name of the file with a full path to the file. In the case of a scanner, this is the name of the scanner.
ImageSourcePageNumber | Integer | Read only | The number of the page in the source file.

Collection of documents

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of documents in the collection
Item(index) | [Exported document] | Read only | The document with index index. index assumes values from 0 to Count – 1

Document

Properties:

Name | Type | Access | Description
IsAssembled | Boolean | Read only | The flag indicates whether the document is assembled or not
IsVerified | Boolean | Read only | The flag indicates whether the document is verified or not
IsExported | Boolean | Read only | The flag indicates whether the document was exported or not
TemplateName | string | Read only | The name of the Document Definition
ProcessingErrors | string | Read only | The message text for processing errors
ProcessingWarnings | string | Read only | Hints and/or warnings issued to the user during processing
TotalSymbolsCount | string | Read only | The total number of characters (without recognized characters, includes characters added by the user and rules)
RecognizedSymbolsCount | string | Read only | The number of recognized characters
UncertainSymbolsCount | string | Read only | The number of uncertainly recognized characters
Id | string | Read only | The document identifier
BatchName | string | Read only | The name of the batch
Field(FieldName) | [Document field] | Read only | Field with the name FieldName. It can return both fields and sections. FieldName is the name of the field with full path (starting from section). Example: "Section 1\Group\Field 1" Important: In case any component of the field path is multiple, the index of this component must be specified. For example, for a multiple group, the above mentioned string will look as follows: "Section 1\Group[index]\Field 1" index assumes the value from 0 to Count-1, with Count being the number of multiple component copies. An exception appears when an incorrect name is used.
HasField (FieldName) | Boolean | Read only | FieldName field existence check.
Children | [Collection of document fields] | Read only | Collection of the document sections
Pages | [Collection of pages] | Read only | Collection of document pages
RegistrationProperties | [Collection of registration properties] | Read only | Collection of the document registration properties
Action | [Working results] | Read only | A special object with information on the export results. Information is written into this object during export. During post-export processing, this information can be used when necessary.
IndexedItemValue (Name) | [Document field] | Read only | The index field with the name Name. Name can be a field name with full path (starting from section). Example: "Section 1\Group\Field 1"
IsModuleAllowedByLicense (AuthorID, ModuleID) | Boolean | Read only | Module availability check (according to license parameters: author identifier, module (string) identifier.

Collection of registration parameters

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of parameters in the collection
Item(index) | [Registration parameter] | Read only | The parameter with index index. index assumes the values from 0 to Count – 1

Registration parameter

Properties:

Name | Type | Access | Description
Name | string | Read only | The name of the registration parameter
Value | string | Read only | The value of the registration parameter

Sample scripts for creating user rules


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. 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 susp, qty, strpos, i, SC, strposPrev

strposPrev = 0

qty = 0

SC = "1"

susp = me.SuspiciousSymbols

for i = 1 to len (susp)

strpos = InStr (i, susp, SC,1)

if strpos <> strposPrev and strpos <> 0 then

qty = qty + 1

strposPrev = strpos

end if

next

if qty >= 3 then

me.text = ""

end if

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


Using scripts to describe export

Object model

This model is used both in export scripts and in export handler scripts.

An export handler is a special script which runs upon export completion (provided the Run script after export option is selected on the Export tab in the project properties dialog box and the body of the script is not empty).

Export must be viewed as a method of an exportable document, i.e. the reference "this" or "Me" refers to the object [Exportable Document] currently being exported.

In an export handler, the pointer this or Me points to an object of type [Export results].

It is impossible to modify field values during export.

Batch

Properties:

Name | Type | Access | Description
BatchTypeName | string | Read only | Batch type name.
Documents | [Collection of documents] | Read only | The documents that are parts of the batch. Only general information about the document is available, without any information about its elements (fields, pages). However, information about key fields is available.
RegistrationProperties | [Colelction of registration parameters] | Read only | The registration parameters of the batch.
RegistrationProperty (Name) | string | Read only | The value of the registration batch with the name Name.

Exportable document

Properties:

Name | Type | Access | Description
IsAssembled | Boolean | Read only | Flag shows whether the document has been assembled or not
IsVerified | Boolean | Read only | Flag shows whether the document has been verified or not
IsExported | Boolean | Read only | Flag shows whether the document has been exported or not
TemplateName | string | Read only | Document Definition name
ProcessingErrors | string | Read only | Processing error message
ProcessingWarnings | string | Read only | Hints and/or warnings displayed during processing
TotalSymbolsCount | Integer | Read only | Total number of characters (besides the recognized characters also includes characters added by the user and by the rules)
RecognizedSymbolsCount | Integer | Read only | Number of recognized characters
UncertainSymbolsCount | Integer | Read only | Number of uncertainly recognized characters
Id | string | Read only | Document identifier
BatchName | string | Read only | Batch name
Field(FieldName) | [Document unit] | Read only | Unit with the name FieldName. May return either a field or a section. FieldName is the name of a unit together with the full path, starting with the section. For example: "Section 1\Group\Field 1" Important! If any component in the path to the field is a multiple component, you must provide the index of this component. For example, for a multiple group the path above should look as follows: "Section 1\Group[index]\Field 1" index assumes a value from 0 to Count-1, where Count is the number of instances of the multiple component. If called by an invalid name, an exception occurs.
HasField (FieldName) | Boolean | Read only | Checks if field with name FieldName exists.
Children | [Collection of document units] | Read only | Collection of document sections
Pages | [Collection of pages] | Read only | Collection of document pages
RegistrationProperties | [Collection of registration parameters] | Read only | The registration parameters of the document
Action | [Result of operation] | Read only | A special object which contains information about the export operation results. The program writes information into this object during export. If required, this information may be used by the handler that is run upon export completion.
IndexedItemValue (Name) | [Field] | Read only | Index field with name Name. Name can be the name of a unit together with the full path, starting with the section. For example: "Section 1\Group\Field 1"
IsModuleAllowedByLicense (AuthorID, ModuleID) | Boolean | Read only | Checks if the module is accessbile based on the license parameters. Parameters: author ID, module ID (strings).

Methods:

Name | Parameters | Description
SaveAs (filename, imageSaveOptions) | fileName – the name of the file imageSaveOptions – image saving parameters (optional) | Saves the images of all document pages to a file.

Document unit

A document unit is either a section or a field.

Properties:

Name | Type | Access | Description
Value Variant Read only Typed value of node.

For number fields, returns a floating point number.

For "Date/Time" fields, returns the date value (VT_DATE).

For "Currency" fields, returns the value of the amount (VT_CY).

For checkmarks, returns a Bollean value.

For checkmark groups, returns the list of selected checkmark fields or an empty string if none is selected.

For a picture, retirns the object [Picture].

If the node has no value, returns null. Before attempting to read the node value, always check if it is null (see script samples).

Attempting to read a null value will cause an error.

Value is null, for example, for sections, and table and group fields.

Value may be null if field contents (recognized or user typed text) does not match the type of the field.

Text string Read only text value of the node.

For checkmarks, returns "Yes"/"No"

For checkmark groups, returns the list of selected checkmark fields or an empty string if none is selected.

For any nodes that have no value (e.g. picture, group, section, etc.) returns an empty string.

Name | string | Read only | Unit name
IsExportable | Boolean | Read only | Shows if the unit has to be exported
SuspiciousSymbols string Read only

A string of 1's and 0's, where 1's correspond to uncertain characters.

For checkmarks, a string containing only one symbol is returned.

For units that have no value, an empty string is returned.
Children [Collection of document units] Read only Collection of subordinated units. If there are no subordinated units – 0.
For example, a group, a checkmark group, a table row have subordinated units.
Items | [Collection of document units] | Read only | In the case of a multiple unit – a collection of its instances. If a unit is not multiple – 0.
Regions | [Collection of regions] | Read only | The collection of field regions.
Field(FieldName) [Document node] Read only A node with name FieldName. May return a field or a section.
FieldName is the name of the node with a relative path (starts from the current node).

Important!

If a path component is a multiple, specify the idex of this component.
HasField (Name) | Boolean | Read only | Flag that shows if a field with name Name exists in the document.
IsIndexed | Boolean | Read only | Flag that shows if the node is an index field.

Picture

This is a picture that can be saved to a file on the disk.

Methods:

Name | Parameters | Description
SaveAs (filename, imageSaveOptions) | fileName – the name of the file imageSaveOptions – image saving parameters (optional) | Saves the image of the field to a file.

Collection of document units

A collection of document units is a collection of fields or sections.

Properties:

Name | Type | Access | Description
Count | Integer | Read only | Number of units in a collection
Item(index) | [Unit] | Read only | Unit instance. Index can have values from 0 to Count – 1

Collection of pages

Properties:

Name | Type | Access | Description
Count | Integer | Read only | Number of pages in a collection
Item(index) | [Page] | Read only | Page with index. Index can have values from 0 to Count – 1

Page

Properties:

Name | Type | Access | Description
TemplateName | string | Read only | Section name
ImageSourceType | string | Read only | The type of the image source. May assume the value File or Scanner
ImageSource | string | Read only | Image source In the case of a file, this is the name of the file with a full path to the file. In the case of a scanner, this is the name of the scanner.
ImageSourcePageNumber | Integer | Read only | The number of the page in the source file.
ExcludedFromDocumentImage | Boolean | Read/write | A flag that excludes tha page from export. Default value is false.

Methods:

Name | Parameters | Description
SaveAs (filename, imageSaveOptions) | fileName – filename imageSaveOptions – image save options (optional) | Save page image.

Collection of regions

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of regions in the collection
Item(index) | [Region] | Read only | The region with index index. The index assumes values from 0 to Count – 1

Region

Properties:

Name | Type | Access | Description
PageIndex | Integer | Read only | The index of the page on which the given region is situated.
Rects | [Collection of rectangles] | Read only | The collection of rectangles from which the region is made up. In the case of a rectangular region, the collection contains only one rectangle.
SurroundingRect | [Rectangle] | Read only | The rectangle that encloses the region.
Picture | [Picture] | Read only | The picture for the given region.
IsMatched | Boolean | Read only | Shows if the field was matched successfully.

Collection of rectangles

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of rectangles in the collection
Item(index) | [rectangle] | Read only | The rectangle with index index. index assumes values from 0 to Count – 1

Rectangle

Properties:

Name | Type | Access | Description
Left | Integer | Read only | The left coordinate of the rectangle on the page
Top | Integer | Read only | The top coordinate of the rectangle on the page
Right | Integer | Read only | The right coordinate of the rectangle on the page
Bottom | Integer | Read only | The bottom coordinate of the rectangle on the page

ExportTools

A global object, used for getting an object [Image save options]

Methods:

Name | Parameters | Description
NewImageSavingOptions |  | Creates an object [Image save options]

Image save options

Options of saving page images.

Properties:

Name | Type | Access | Description
Format | string | Read/write | Image format. Can take one of the values: "tif", "jpg", "bmp", "jpg2000", "pcx", "png", "pdf", "pdf-s", "pdf-a", "pdf-a-s", "pdf-s-a". Not case sensitive.
ColorType | string | Read/write | Type of color scheme used. Can take one of the values: "FullColor", "GrayScale", "BlackAndWhite". Not case sensitive.
Resolution | Integer | Read/write | Image resolution in dpi
Quality | Integer in the range from 1 to 100 | Read/write | The quality of JPEG compression (applicable only to formats where JPEG compression is used).
ShouldOverwrite | Boolean | Read/write | This flag indicates whether to write over the existing file when saving. If this flag is set to false, calling the SaveAs method will result in an error if a file with the same name already exists.

Results of operation

Contains information about the export operation results

Properties:

Name | Type | Access | Description
Succeeded | Boolean | Read/write | Contains true if the export has been successful, otherwise contains false.
ErrorMessage | string | Read/write | An error message about an error that occurred during export.
Result string Read/write A formal description of the result.

For export to a file, contains the name of the file together with a full path to the file.
For export to a database, contains the name of the main export table.
For export to SharePoint contains the URL of the exported document.

Name | string | Read only | Export profile name.
Type Integer Read only Type of export settings (to be used in post-export scripts). The following values are possible:
  • ET_File=1, export to file
  • ET_DataBase=2, export to a database
  • ET_Script=3, script-based export
  • ET_SharePoint=4, export toSharePoint;
  • ET_Unknown=0, type not specified (if there are errors not related to a specific export profile).

Export results

Properties:

Name | Type | Access | Description
Documents | [collection of exported documents] | Read only | A collection of documents exported ion one export session. For a document, general information about the document is sufficient, no data about its elements (fields, pages) are required. However, data about the key fields are also available.

Collection of exported documents

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of documents in the collection
Item(index) | [Exported document] | Read only | The document with index index. index assumes values from 0 to Count – 1

Registration parameters collection

Properties:

Name | Type | Access | Description
Count | Integer | Read only | The number of parameters in the collection
Item(index) | [Registration parameter] | Read only | The parameter with index index. index assumes values from 0 to Count – 1

Registration parameter

Properties:

Name | Type | Access | Description
Name | string | Read only | The name of the registration parameter
Value | string | Read only | The value of the registration parameter

Sample scripts describing export


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 folderName

    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

    ' specifying 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)

    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 if

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 folder

    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

    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 Controller.dll to the References of the project – FlexiCaptureScriptingObjects 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 docInfo

' iterating the collection of exported documents

for each curDoc in me.Documents

    docInfo = "DocumentId:" & curDoc.Id

    if curDoc.Action.Succeeded then

        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

    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();


Migrating from FormReader 6.5 rules and export to FlexiCapture 9.0 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 9.0 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 9.0 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 9.0. 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 9.0. 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


Application Server API

The Application server API allows an external system to create a processing task, start the processing, and get the processing results. The availability of the API enables the development of third-party applications that use ABBYY FlexiCapture 9.0 as a document image analysis server and to export results.

The API can be used to control an already set-up workflow. The user needs to create the required projects on the Project Setup Station and specify Document Definitions to be used for each project, batch types, image processing options, etc.

A formal description of the service interface (WSDL) is available here

http://appServer/FlexiCapture/Server/WebServices.dll?Handler=Version2WSDL, where appServer is the name of the installed Application Server.

A C# equivalent follows:

// Methods from the first version of the interface

// Open session

int OpenSession();

void CloseSession(int sessionId);

// get list of projects

Project[] GetProjects();

// Open project

int OpenProject(int sessionId, string projectNameOrGuid);

void CloseProject(int sessionId, int projectId);

// Get list of batch types

BatchType[] GetBatchTypes(int projectId);

// Add new batch

int AddNewBatch(int sessionId, int projectId, Batch batch);

bool DeleteBatch(int sessionId, int batchId);

// Add image

void AddNewImage(int sessionId, int batchId, File file);

// Add created document as (multi-page) file

int AddNewDocument(int sessionId, int batchId, File file);

/* Create document manually (create a document and either attach the corresponding multi-page image to it or manually create pages with one-page images)*/

int AddNewEmptyDocument(int sessionId, int batchId);

int AddNewPage(int sessionId, int documentId, File file);

// Start processing the batch

void ProcessBatch(int sessionId, int batchId);

// Track progress (100% - task completed)

int GetBatchPercentCompleted(int batchId);

// Get list of documents and load export results for each document

Document[] GetDocuments(int batchId);

// Load export results for each document

string[] GetDocumentResultsList( int documentId );

File LoadDocumentResult(int documentId, string fileName);

// Methods added in the second version

// Get the list of batches in the project

Batch[] GetBatches( int projectId );

// Get the batch using the identifier

Batch GetBatch( int batchId );

// Get the batch type using the identifier

BatchType GetBatchType( int batchTypeId );

// Open the batch (lock deletion)

bool OpenBatch( int sessionId, int batchId );

// Close the batch (unlock deletion)

void CloseBatch( int sessionId, int batchId );

// Get detailed information about the document

DocumentEx GetDocument( int batchId, int documentId );

// Add a document with registration parameters

int AddNewDocumentEx( int sessionId, int batchId, DocumentEx document, File file, bool omAutomaticAssembling );

// Delete the document

bool DeleteDocument( int sessionId, int batchId, int documentId );

// Specify the document's registration parameters

void SetDocumentProperties( int sessionId, int batchId, int documentId, RegistrationProperty[] properties );

// Add a page with additional information to the document

int AddNewPageEx( int sessionId, int batchId, int documentId, PageEx page, File file );

// Delete the page from the document

bool DeletePage( int sessionId, int batchId, int documentId, int pageId );

// Working with rescanning tasks

// Get the list of available tasks

TaskList GetAvailableTasks( int sessionId, int projectId, int processingStage );

// Get the list of postponed tasks

TaskList GetPostponedTasks( int sessionId, int projectId, int processingStage );

// Open the task. Before doing anything else, it must be opened to prevent other users from opening it.

bool OpenTask( int sessionId, int taskId );

// Return the task for further processing

void CloseTask( int sessionId, int taskId );

// Reject the task

void CancelTask( int sessionId, int taskId );

// Postpone the task

void PostponeTask( int sessionId, int taskId, string comment);

// Send the task to Exceptions

void SendTaskToException( int sessionId, int taskId, string comment );

// Get the list of documents in the task

TaskDocumentList GetTaskDocuments( int taskId );

// Get information about the task

Task GetTaskInfo( int taskId );

// Working with custom files

// Save the custom file on the server

void SaveCustomFile( int sessionId, File file );

// Load the custom file from the server

File LoadCustomFile( string fileName );

// Delete the custom file from the server

void RemoveCustomFile( int sessionId,  string filename );

// Get the list of custom files

string[] GetCustomFileNames();

// Working with protection

// Get a new ticket

bool GetNewTicket( int sessionId, int stationType, out TicketInfo ticketInfo );

// Update the existing ticket

bool UpdateTicket( int sessionId, int ticketId, out TicketInfo ticketInfo );

// Check out the existing ticket

void ReleaseTicket( int sessionId, int ticketId );

// Write to the message server log

void WriteToLog( long clientTime, LogRecord[] records );

Application Server API: usage sample
Description of Application Server API Web services


Application Server API: Usage Sample

This sample was created in Microsoft Visual Studio. The sample code below assumes that a reference (WebReference) to the Web service has been added and the name FlexiCapture has been selected for the reference (the generated name space correspond to this name). The sample also assumes that the Trace function has been defined (for example, using Debug.Print). It is used to add data to the log file.

The sample is a mere demonstration. In an actual project, be sure to create reliable wrap classes around the objects being opened and use mechanisms similar to using in C#. A mechanism for clearing abandoned sessions and batches is desirable which is failsafe and unaffected by power cuts and communication line failures (i.e. the identifier must be saved and the session closed as part of the recovery procedure). Abandoned sessions present no danger per se, but may pile up and become a nuisance to the Administrator. Besides, abandoned batches may take up considerable server resources, mainly eating up storage space reserved for images and documents.

To run this sample, simply upload your project to the freshly installed Application Server and select unattended processing on the Workflow tab.

public void RunSample(string serverUrl)

{

       try

       {

             // Initialize service

             FlexiCapture.FlexiCaptureWebService service = new FlexiCaptureWebService();

// To reference version 1 of the service, the URL should be constructed as follows.
// Please notice that the resulting URL is different from that used to
// reference WSDL (which was previously used to add the web-reference)

service.Url = serverUrl + "/FlexiCapture/Server/WebServices.dll?Handler=Version1";

// Enable transparent log-on using credentiols of the current thread

service.Credentials = System.Net.CredentialCache.DefaultCredentials;

             // Open session

             int sessionId = service.OpenSession();

             try

             { {

// List available projects (this can be omitted if you work with
// a fixed project, in which case the preferred method is to open
// a project by GUID)

                    FlexiCapture.Project[] projects = service.GetProjects();

                    if( projects != null )

                    {

                          foreach( FlexiCapture.Project project in projects )

                          {

                                 Trace( project.Name + " : " + project.Guid );

                          }

                    }

                    // Open the first project in the list

                    int projectId = service.OpenProject( sessionId, projects[0].Guid );

                    // List available batch types

                    FlexiCapture.BatchType[] batchTypes = service.GetBatchTypes( projectId );

                    if( batchTypes != null )

                    {

                          foreach( FlexiCapture.BatchType batchType in batchTypes )

                          { {

                                 Trace( batchType.Name + " : " + batchType.Description );

                          }

                    }

                    // Create a new batch

                    FlexiCapture.Batch batch = new FlexiCapture.Batch();

                    batch.Name = "Sample API Batch";

                    int batchId = service.AddNewBatch( sessionId, projectId, batch );

                    // Load sample images (see below for definition of LoadFile)

                    FlexiCapture.File file1 = LoadFile( "Banking 1.png" );

                    FlexiCapture.File file2 = LoadFile( "Banking 2.png" );

                    FlexiCapture.File file3 = LoadFile( "Banking 3.png" );

                    // Add sample images

                    for(
int i = 0; i <
3;
i++ )

                    {

                          service.AddNewImage( sessionId, batchId, file1 );

                          service.AddNewImage ( sessionId, batchId, file2 );

                          service.AddNewImage ( sessionId, batchId, file3 );

                    }

                    // Start processing the batch

                    service.ProcessBatch( sessionId, batchId );

                    // Wait for the processing to complete

                    int percentCompleted = 0;

                    while( percentCompleted < 100 )

                    {

                          percentCompleted = service.GetBatchPercentCompleted( batchId );

                          System.Threading.Thread.Sleep( 500 );

                    } }

                    // Analyze results

                    FlexiCapture.Document[] documents = service.GetDocuments( batchId );

                    if( documents != null )

                    {

                          foreach( FlexiCapture.Document document in documents )

                          {

                                 FlexiCapture.File attachedFile =

service.LoadDocumentResult( document.Id, "MyResult.xml" );

                          } }

                    }

                    // Clean up

                    service.DeleteBatch( sessionId, batchId );

                    service.CloseProject( sessionId, projectId );

             }

             finally

             {

                    service.CloseSession( sessionId );

             }

       }

       catch ( Exception ex )

       {

             Trace( ex.Message );

       }

}

public FlexiCapture.File LoadFile( string fileName )

{

       FlexiCapture.File file = new FlexiCapture.File();

       using( FileStream stream = File.Open( fileName, FileMode.Open ) )

       {

             file.Name = fileName;

             file.Bytes = new byte[stream.Length];

             stream.Read( file.Bytes, 0, file.Bytes.Length );

       }

       return file;

}


Description of Application Server Web services

An up-to-date description of the service interface (WSDL) is available here:

http://appServer/FlexiCapture/Server/WebServices.dll?Handler=Version2WSDL, where appServer is the name of the installed Application Server.

<?xml version="1.0" ?>
- <definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s0="urn:http://www.abbyy.com/FlexiCapture" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:atls="http://tempuri.org/vc/atl/server/" targetNamespace="urn:http://www.abbyy.com/FlexiCapture" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema
targetNamespace="urn:http://www.abbyy.com/FlexiCapture"
attributeFormDefault="qualified"
elementFormDefault="qualified">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <s:element name="OpenSession">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="OpenSessionResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetProjects">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetProjectsResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="projects" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="Project" type="s0:Project" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseSession">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseSessionResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="OpenProject">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="projectNameOrGuid" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="OpenProjectResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseProject">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="projectId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseProjectResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetBatchTypes">
- <s:complexType>
- <s:sequence>
<s:element name="projectId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchTypesResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="batchTypes" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="BatchType" type="s0:BatchType" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewBatch">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="projectId" type="s:int" />
<s:element name="batch" type="s0:Batch" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewBatchResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeleteBatch">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeleteBatchResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewImage">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="file" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewImageResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="AddNewDocument">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="file" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewDocumentResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewEmptyDocument">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewEmptyDocumentResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewPage">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="documentId" type="s:int" />
<s:element name="file" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewPageResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="ProcessBatch">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="ProcessBatchResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetBatchPercentCompleted">
- <s:complexType>
- <s:sequence>
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchPercentCompletedResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDocuments">
- <s:complexType>
- <s:sequence>
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDocumentsResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="documents" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="Document" type="s0:Document" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDocumentResultsList">
- <s:complexType>
- <s:sequence>
<s:element name="documentId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDocumentResultsListResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="fileNames" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="string" type="s:string" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="LoadDocumentResult">
- <s:complexType>
- <s:sequence>
<s:element name="documentId" type="s:int" />
<s:element name="fileName" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="LoadDocumentResultResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchType">
- <s:complexType>
- <s:sequence>
<s:element name="batchTypeId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchTypeResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:BatchType" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatches">
- <s:complexType>
- <s:sequence>
<s:element name="projectId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchesResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="batches" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="Batch" type="s0:Batch" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatch">
- <s:complexType>
- <s:sequence>
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetBatchResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:Batch" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="OpenBatch">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="OpenBatchResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseBatch">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseBatchResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetDocument">
- <s:complexType>
- <s:sequence>
<s:element name="batchId" type="s:int" />
<s:element name="documentId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDocumentResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:DocumentEx" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeletePage">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="documentId" type="s:int" />
<s:element name="pageId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeletePageResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeleteDocument">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="documentId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="DeleteDocumentResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewDocumentEx">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="document" type="s0:DocumentEx" />
<s:element name="file" type="s0:File" />
<s:element name="excludeFromAutomaticAssembling" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewDocumentExResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewPageEx">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="documentId" type="s:int" />
<s:element name="page" type="s0:PageEx" />
<s:element name="file" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="AddNewPageExResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SetDocumentProperties">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="batchId" type="s:int" />
<s:element name="documentId" type="s:int" />
- <s:element name="properties" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="RegistrationProperty" type="s0:RegistrationProperty" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SetDocumentPropertiesResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="LoadCustomFile">
- <s:complexType>
- <s:sequence>
<s:element name="fileName" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="LoadCustomFileResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SaveCustomFile">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="file" type="s0:File" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SaveCustomFileResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="RemoveCustomFile">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="fileName" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="RemoveCustomFileResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetCustomFileNames">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetCustomFileNamesResponse">
- <s:complexType>
- <s:sequence>
- <s:element name="fileNames" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="string" type="s:string" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="WriteToLog">
- <s:complexType>
- <s:sequence>
<s:element name="clientTime" type="s:long" />
- <s:element name="records" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element name="LogRecord" type="s0:LogRecord" minOccurs="0" maxOccurs="unbounded" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="WriteToLogResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetAvailableTasks">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="projectId" type="s:int" />
<s:element name="processingStage" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetAvailableTasksResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:TaskList" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetTaskInfo">
- <s:complexType>
- <s:sequence>
<s:element name="taskId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetTaskInfoResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:Task" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="OpenTask">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="taskId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="OpenTaskResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetTaskDocuments">
- <s:complexType>
- <s:sequence>
<s:element name="taskId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetTaskDocumentsResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:TaskDocumentList" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseTask">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="taskId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CloseTaskResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="CancelTask">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="taskId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="CancelTaskResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="PostponeTask">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="taskId" type="s:int" />
<s:element name="comment" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="PostponeTaskResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetPostponedTasks">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="projectId" type="s:int" />
<s:element name="processingStage" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetPostponedTasksResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s0:TaskList" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SendTaskToException">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="taskId" type="s:int" />
<s:element name="comment" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="SendTaskToExceptionResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:element name="GetNewTicket">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="stationType" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetNewTicketResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
<s:element name="ticketInfo" type="s0:TicketInfo" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="UpdateTicket">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="ticketId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="UpdateTicketResponse">
- <s:complexType>
- <s:sequence>
<s:element name="return" type="s:boolean" />
<s:element name="ticketInfo" type="s0:TicketInfo" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="ReleaseTicket">
- <s:complexType>
- <s:sequence>
<s:element name="sessionId" type="s:int" />
<s:element name="ticketId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="ReleaseTicketResponse">
- <s:complexType>
<s:sequence />
</s:complexType>
</s:element>
- <s:complexType name="TaskDocument">
- <s:sequence>
<s:element name="BatchId" type="s:int" />
<s:element name="DocumentId" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="RegistrationPropertyDef">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="Name" type="s:string" />
<s:element name="IsRequired" type="s:boolean" />
</s:sequence>
</s:complexType>
- <s:complexType name="Task">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="Priority" type="s:int" />
<s:element name="Status" type="s:unsignedInt" />
<s:element name="CreationTime" type="s:long" />
<s:element name="Comment" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="TaskList">
- <s:sequence>
- <s:element name="Tasks" atls:SizeIs="TasksCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="Task"
type="s0:Task"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="TasksCount" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="Batch">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="Name" type="s:string" />
<s:element name="BatchTypeId" type="s:int" />
<s:element name="Priority" type="s:int" />
<s:element name="Description" type="s:string" />
- <s:element name="Properties" atls:SizeIs="PropertiesCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="RegistrationProperty"
type="s0:RegistrationProperty"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PropertiesCount" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="DocumentEx">
- <s:sequence>
<s:element name="Id" type="s:int" />
- <s:element name="Pages" atls:SizeIs="PageCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="Page"
type="s0:Page"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PageCount" type="s:int" />
<s:element name="IsProcessed" type="s:boolean" />
<s:element name="HasProcessingErrors" type="s:boolean" />
<s:element name="HasDocumentErrors" type="s:boolean" />
<s:element name="ErrorText" type="s:string" />
<s:element name="ExternalId" type="s:string" />
- <s:element name="Properties" atls:SizeIs="PropertiesCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="RegistrationProperty"
type="s0:RegistrationProperty"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PropertiesCount" type="s:int" />
<s:element name="Priority" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="LogRecord">
- <s:sequence>
<s:element name="Type" type="s:int" />
<s:element name="SessionId" type="s:int" />
<s:element name="MachineId" type="s:string" />
<s:element name="RoleId" type="s:int" />
<s:element name="TaskId" type="s:int" />
<s:element name="ProjectId" type="s:int" />
<s:element name="BatchId" type="s:int" />
<s:element name="DocumentId" type="s:int" />
<s:element name="PageId" type="s:int" />
<s:element name="Comment" type="s:string" />
<s:element name="Details" type="s:string" />
<s:element name="Time" type="s:long" />
</s:sequence>
</s:complexType>
- <s:complexType name="TicketInfo">
- <s:sequence>
<s:element name="TicketId" type="s:int" />
<s:element name="LicenseNumber" type="s:string" />
<s:element name="StationType" type="s:int" />
<s:element name="ExpirationDate" type="s:long" />
<s:element name="ExpirationPeriod" type="s:long" />
<s:element name="AvailableModules" type="s:unsignedInt" />
<s:element name="IssuedForSessionId" type="s:int" />
<s:element name="Signature" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="File">
- <s:sequence>
<s:element name="Name" type="s:string" />
<s:element name="Bytes" type="s:base64Binary" />
</s:sequence>
</s:complexType>
- <s:complexType name="Document">
- <s:sequence>
<s:element name="Id" type="s:int" />
- <s:element name="Pages" atls:SizeIs="PageCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="Page"
type="s0:Page"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PageCount" type="s:int" />
<s:element name="IsProcessed" type="s:boolean" />
<s:element name="HasProcessingErrors" type="s:boolean" />
<s:element name="HasDocumentErrors" type="s:boolean" />
<s:element name="ErrorText" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="Project">
- <s:sequence>
<s:element name="Name" type="s:string" />
<s:element name="Guid" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="RegistrationProperty">
- <s:sequence>
<s:element name="Name" type="s:string" />
<s:element name="Value" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="BatchType">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="Name" type="s:string" />
<s:element name="Description" type="s:string" />
- <s:element name="PropertyDefs" atls:SizeIs="PropertyDefsCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="RegistrationPropertyDef"
type="s0:RegistrationPropertyDef"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PropertyDefsCount" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="TaskDocumentList">
- <s:sequence>
- <s:element name="Documents" atls:SizeIs="DocumentsCount" nillable="true">
- <s:complexType>
- <s:sequence>
<s:element

name="TaskDocument"
type="s0:TaskDocument"
minOccurs="0"
maxOccurs="unbounded"
/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DocumentsCount" type="s:int" />
</s:sequence>
</s:complexType>
- <s:complexType name="PageEx">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="SourceFileName" type="s:string" />
<s:element name="SourcePageNumber" type="s:int" />
<s:element name="ErrorText" type="s:string" />
<s:element name="ExternalId" type="s:string" />
<s:element name="SourceDetails" type="s:string" />
</s:sequence>
</s:complexType>
- <s:complexType name="Page">
- <s:sequence>
<s:element name="Id" type="s:int" />
<s:element name="SourceFileName" type="s:string" />
<s:element name="SourcePageNumber" type="s:int" />
<s:element name="ErrorText" type="s:string" />
</s:sequence>
</s:complexType>
</s:schema>
</types>
- <message name="OpenSessionIn">
<part name="parameters" element="s0:OpenSession" />
</message>
- <message name="OpenSessionOut">
<part name="parameters" element="s0:OpenSessionResponse" />
</message>
- <message name="GetProjectsIn">
<part name="parameters" element="s0:GetProjects" />
</message>
- <message name="GetProjectsOut">
<part name="parameters" element="s0:GetProjectsResponse" />
</message>
- <message name="CloseSessionIn">
<part name="parameters" element="s0:CloseSession" />
</message>
- <message name="CloseSessionOut">
<part name="parameters" element="s0:CloseSessionResponse" />
</message>
- <message name="OpenProjectIn">
<part name="parameters" element="s0:OpenProject" />
</message>
- <message name="OpenProjectOut">
<part name="parameters" element="s0:OpenProjectResponse" />
</message>
- <message name="CloseProjectIn">
<part name="parameters" element="s0:CloseProject" />
</message>
- <message name="CloseProjectOut">
<part name="parameters" element="s0:CloseProjectResponse" />
</message>
- <message name="GetBatchTypesIn">
<part name="parameters" element="s0:GetBatchTypes" />
</message>
- <message name="GetBatchTypesOut">
<part name="parameters" element="s0:GetBatchTypesResponse" />
</message>
- <message name="AddNewBatchIn">
<part name="parameters" element="s0:AddNewBatch" />
</message>
- <message name="AddNewBatchOut">
<part name="parameters" element="s0:AddNewBatchResponse" />
</message>
- <message name="DeleteBatchIn">
<part name="parameters" element="s0:DeleteBatch" />
</message>
- <message name="DeleteBatchOut">
<part name="parameters" element="s0:DeleteBatchResponse" />
</message>
- <message name="AddNewImageIn">
<part name="parameters" element="s0:AddNewImage" />
</message>
- <message name="AddNewImageOut">
<part name="parameters" element="s0:AddNewImageResponse" />
</message>
- <message name="AddNewDocumentIn">
<part name="parameters" element="s0:AddNewDocument" />
</message>
- <message name="AddNewDocumentOut">
<part name="parameters" element="s0:AddNewDocumentResponse" />
</message>
- <message name="AddNewEmptyDocumentIn">
<part name="parameters" element="s0:AddNewEmptyDocument" />
</message>
- <message name="AddNewEmptyDocumentOut">
<part name="parameters" element="s0:AddNewEmptyDocumentResponse" />
</message>
- <message name="AddNewPageIn">
<part name="parameters" element="s0:AddNewPage" />
</message>
- <message name="AddNewPageOut">
<part name="parameters" element="s0:AddNewPageResponse" />
</message>
- <message name="ProcessBatchIn">
<part name="parameters" element="s0:ProcessBatch" />
</message>
- <message name="ProcessBatchOut">
<part name="parameters" element="s0:ProcessBatchResponse" />
</message>
- <message name="GetBatchPercentCompletedIn">
<part name="parameters" element="s0:GetBatchPercentCompleted" />
</message>
- <message name="GetBatchPercentCompletedOut">
<part name="parameters" element="s0:GetBatchPercentCompletedResponse" />
</message>
- <message name="GetDocumentsIn">
<part name="parameters" element="s0:GetDocuments" />
</message>
- <message name="GetDocumentsOut">
<part name="parameters" element="s0:GetDocumentsResponse" />
</message>
- <message name="GetDocumentResultsListIn">
<part name="parameters" element="s0:GetDocumentResultsList" />
</message>
- <message name="GetDocumentResultsListOut">
<part name="parameters" element="s0:GetDocumentResultsListResponse" />
</message>
- <message name="LoadDocumentResultIn">
<part name="parameters" element="s0:LoadDocumentResult" />
</message>
- <message name="LoadDocumentResultOut">
<part name="parameters" element="s0:LoadDocumentResultResponse" />
</message>
- <message name="GetBatchTypeIn">
<part name="parameters" element="s0:GetBatchType" />
</message>
- <message name="GetBatchTypeOut">
<part name="parameters" element="s0:GetBatchTypeResponse" />
</message>
- <message name="GetBatchesIn">
<part name="parameters" element="s0:GetBatches" />
</message>
- <message name="GetBatchesOut">
<part name="parameters" element="s0:GetBatchesResponse" />
</message>
- <message name="GetBatchIn">
<part name="parameters" element="s0:GetBatch" />
</message>
- <message name="GetBatchOut">
<part name="parameters" element="s0:GetBatchResponse" />
</message>
- <message name="OpenBatchIn">
<part name="parameters" element="s0:OpenBatch" />
</message>
- <message name="OpenBatchOut">
<part name="parameters" element="s0:OpenBatchResponse" />
</message>
- <message name="CloseBatchIn">
<part name="parameters" element="s0:CloseBatch" />
</message>
- <message name="CloseBatchOut">
<part name="parameters" element="s0:CloseBatchResponse" />
</message>
- <message name="GetDocumentIn">
<part name="parameters" element="s0:GetDocument" />
</message>
- <message name="GetDocumentOut">
<part name="parameters" element="s0:GetDocumentResponse" />
</message>
- <message name="DeletePageIn">
<part name="parameters" element="s0:DeletePage" />
</message>
- <message name="DeletePageOut">
<part name="parameters" element="s0:DeletePageResponse" />
</message>
- <message name="DeleteDocumentIn">
<part name="parameters" element="s0:DeleteDocument" />
</message>
- <message name="DeleteDocumentOut">
<part name="parameters" element="s0:DeleteDocumentResponse" />
</message>
- <message name="AddNewDocumentExIn">
<part name="parameters" element="s0:AddNewDocumentEx" />
</message>
- <message name="AddNewDocumentExOut">
<part name="parameters" element="s0:AddNewDocumentExResponse" />
</message>
- <message name="AddNewPageExIn">
<part name="parameters" element="s0:AddNewPageEx" />
</message>
- <message name="AddNewPageExOut">
<part name="parameters" element="s0:AddNewPageExResponse" />
</message>
- <message name="SetDocumentPropertiesIn">
<part name="parameters" element="s0:SetDocumentProperties" />
</message>
- <message name="SetDocumentPropertiesOut">
<part name="parameters" element="s0:SetDocumentPropertiesResponse" />
</message>
- <message name="LoadCustomFileIn">
<part name="parameters" element="s0:LoadCustomFile" />
</message>
- <message name="LoadCustomFileOut">
<part name="parameters" element="s0:LoadCustomFileResponse" />
</message>
- <message name="SaveCustomFileIn">
<part name="parameters" element="s0:SaveCustomFile" />
</message>
- <message name="SaveCustomFileOut">
<part name="parameters" element="s0:SaveCustomFileResponse" />
</message>
- <message name="RemoveCustomFileIn">
<part name="parameters" element="s0:RemoveCustomFile" />
</message>
- <message name="RemoveCustomFileOut">
<part name="parameters" element="s0:RemoveCustomFileResponse" />
</message>
- <message name="GetCustomFileNamesIn">
<part name="parameters" element="s0:GetCustomFileNames" />
</message>
- <message name="GetCustomFileNamesOut">
<part name="parameters" element="s0:GetCustomFileNamesResponse" />
</message>
- <message name="WriteToLogIn">
<part name="parameters" element="s0:WriteToLog" />
</message>
- <message name="WriteToLogOut">
<part name="parameters" element="s0:WriteToLogResponse" />
</message>
- <message name="GetAvailableTasksIn">
<part name="parameters" element="s0:GetAvailableTasks" />
</message>
- <message name="GetAvailableTasksOut">
<part name="parameters" element="s0:GetAvailableTasksResponse" />
</message>
- <message name="GetTaskInfoIn">
<part name="parameters" element="s0:GetTaskInfo" />
</message>
- <message name="GetTaskInfoOut">
<part name="parameters" element="s0:GetTaskInfoResponse" />
</message>
- <message name="OpenTaskIn">
<part name="parameters" element="s0:OpenTask" />
</message>
- <message name="OpenTaskOut">
<part name="parameters" element="s0:OpenTaskResponse" />
</message>
- <message name="GetTaskDocumentsIn">
<part name="parameters" element="s0:GetTaskDocuments" />
</message>
- <message name="GetTaskDocumentsOut">
<part name="parameters" element="s0:GetTaskDocumentsResponse" />
</message>
- <message name="CloseTaskIn">
<part name="parameters" element="s0:CloseTask" />
</message>
- <message name="CloseTaskOut">
<part name="parameters" element="s0:CloseTaskResponse" />
</message>
- <message name="CancelTaskIn">
<part name="parameters" element="s0:CancelTask" />
</message>
- <message name="CancelTaskOut">
<part name="parameters" element="s0:CancelTaskResponse" />
</message>
- <message name="PostponeTaskIn">
<part name="parameters" element="s0:PostponeTask" />
</message>
- <message name="PostponeTaskOut">
<part name="parameters" element="s0:PostponeTaskResponse" />
</message>
- <message name="GetPostponedTasksIn">
<part name="parameters" element="s0:GetPostponedTasks" />
</message>
- <message name="GetPostponedTasksOut">
<part name="parameters" element="s0:GetPostponedTasksResponse" />
</message>
- <message name="SendTaskToExceptionIn">
<part name="parameters" element="s0:SendTaskToException" />
</message>
- <message name="SendTaskToExceptionOut">
<part name="parameters" element="s0:SendTaskToExceptionResponse" />
</message>
- <message name="GetNewTicketIn">
<part name="parameters" element="s0:GetNewTicket" />
</message>
- <message name="GetNewTicketOut">
<part name="parameters" element="s0:GetNewTicketResponse" />
</message>
- <message name="UpdateTicketIn">
<part name="parameters" element="s0:UpdateTicket" />
</message>
- <message name="UpdateTicketOut">
<part name="parameters" element="s0:UpdateTicketResponse" />
</message>
- <message name="ReleaseTicketIn">
<part name="parameters" element="s0:ReleaseTicket" />
</message>
- <message name="ReleaseTicketOut">
<part name="parameters" element="s0:ReleaseTicketResponse" />
</message>
- <portType name="FlexiCaptureWebServiceSoap">
- <operation name="OpenSession">
<input message="s0:OpenSessionIn" />
<output message="s0:OpenSessionOut" />
</operation>
- <operation name="GetProjects">
<input message="s0:GetProjectsIn" />
<output message="s0:GetProjectsOut" />
</operation>
- <operation name="CloseSession">
<input message="s0:CloseSessionIn" />
<output message="s0:CloseSessionOut" />
</operation>
- <operation name="OpenProject">
<input message="s0:OpenProjectIn" />
<output message="s0:OpenProjectOut" />
</operation>
- <operation name="CloseProject">
<input message="s0:CloseProjectIn" />
<output message="s0:CloseProjectOut" />
</operation>
- <operation name="GetBatchTypes">
<input message="s0:GetBatchTypesIn" />
<output message="s0:GetBatchTypesOut" />
</operation>
- <operation name="AddNewBatch">
<input message="s0:AddNewBatchIn" />
<output message="s0:AddNewBatchOut" />
</operation>
- <operation name="DeleteBatch">
<input message="s0:DeleteBatchIn" />
<output message="s0:DeleteBatchOut" />
</operation>
- <operation name="AddNewImage">
<input message="s0:AddNewImageIn" />
<output message="s0:AddNewImageOut" />
</operation>
- <operation name="AddNewDocument">
<input message="s0:AddNewDocumentIn" />
<output message="s0:AddNewDocumentOut" />
</operation>
- <operation name="AddNewEmptyDocument">
<input message="s0:AddNewEmptyDocumentIn" />
<output message="s0:AddNewEmptyDocumentOut" />
</operation>
- <operation name="AddNewPage">
<input message="s0:AddNewPageIn" />
<output message="s0:AddNewPageOut" />
</operation>
- <operation name="ProcessBatch">
<input message="s0:ProcessBatchIn" />
<output message="s0:ProcessBatchOut" />
</operation>
- <operation name="GetBatchPercentCompleted">
<input message="s0:GetBatchPercentCompletedIn" />
<output message="s0:GetBatchPercentCompletedOut" />
</operation>
- <operation name="GetDocuments">
<input message="s0:GetDocumentsIn" />
<output message="s0:GetDocumentsOut" />
</operation>
- <operation name="GetDocumentResultsList">
<input message="s0:GetDocumentResultsListIn" />
<output message="s0:GetDocumentResultsListOut" />
</operation>
- <operation name="LoadDocumentResult">
<input message="s0:LoadDocumentResultIn" />
<output message="s0:LoadDocumentResultOut" />
</operation>
- <operation name="GetBatchType">
<input message="s0:GetBatchTypeIn" />
<output message="s0:GetBatchTypeOut" />
</operation>
- <operation name="GetBatches">
<input message="s0:GetBatchesIn" />
<output message="s0:GetBatchesOut" />
</operation>
- <operation name="GetBatch">
<input message="s0:GetBatchIn" />
<output message="s0:GetBatchOut" />
</operation>
- <operation name="OpenBatch">
<input message="s0:OpenBatchIn" />
<output message="s0:OpenBatchOut" />
</operation>
- <operation name="CloseBatch">
<input message="s0:CloseBatchIn" />
<output message="s0:CloseBatchOut" />
</operation>
- <operation name="GetDocument">
<input message="s0:GetDocumentIn" />
<output message="s0:GetDocumentOut" />
</operation>
- <operation name="DeletePage">
<input message="s0:DeletePageIn" />
<output message="s0:DeletePageOut" />
</operation>
- <operation name="DeleteDocument">
<input message="s0:DeleteDocumentIn" />
<output message="s0:DeleteDocumentOut" />
</operation>
- <operation name="AddNewDocumentEx">
<input message="s0:AddNewDocumentExIn" />
<output message="s0:AddNewDocumentExOut" />
</operation>
- <operation name="AddNewPageEx">
<input message="s0:AddNewPageExIn" />
<output message="s0:AddNewPageExOut" />
</operation>
- <operation name="SetDocumentProperties">
<input message="s0:SetDocumentPropertiesIn" />
<output message="s0:SetDocumentPropertiesOut" />
</operation>
- <operation name="LoadCustomFile">
<input message="s0:LoadCustomFileIn" />
<output message="s0:LoadCustomFileOut" />
</operation>
- <operation name="SaveCustomFile">
<input message="s0:SaveCustomFileIn" />
<output message="s0:SaveCustomFileOut" />
</operation>
- <operation name="RemoveCustomFile">
<input message="s0:RemoveCustomFileIn" />
<output message="s0:RemoveCustomFileOut" />
</operation>
- <operation name="GetCustomFileNames">
<input message="s0:GetCustomFileNamesIn" />
<output message="s0:GetCustomFileNamesOut" />
</operation>
- <operation name="WriteToLog">
<input message="s0:WriteToLogIn" />
<output message="s0:WriteToLogOut" />
</operation>
- <operation name="GetAvailableTasks">
<input message="s0:GetAvailableTasksIn" />
<output message="s0:GetAvailableTasksOut" />
</operation>
- <operation name="GetTaskInfo">
<input message="s0:GetTaskInfoIn" />
<output message="s0:GetTaskInfoOut" />
</operation>
- <operation name="OpenTask">
<input message="s0:OpenTaskIn" />
<output message="s0:OpenTaskOut" />
</operation>
- <operation name="GetTaskDocuments">
<input message="s0:GetTaskDocumentsIn" />
<output message="s0:GetTaskDocumentsOut" />
</operation>
- <operation name="CloseTask">
<input message="s0:CloseTaskIn" />
<output message="s0:CloseTaskOut" />
</operation>
- <operation name="CancelTask">
<input message="s0:CancelTaskIn" />
<output message="s0:CancelTaskOut" />
</operation>
- <operation name="PostponeTask">
<input message="s0:PostponeTaskIn" />
<output message="s0:PostponeTaskOut" />
</operation>
- <operation name="GetPostponedTasks">
<input message="s0:GetPostponedTasksIn" />
<output message="s0:GetPostponedTasksOut" />
</operation>
- <operation name="SendTaskToException">
<input message="s0:SendTaskToExceptionIn" />
<output message="s0:SendTaskToExceptionOut" />
</operation>
- <operation name="GetNewTicket">
<input message="s0:GetNewTicketIn" />
<output message="s0:GetNewTicketOut" />
</operation>
- <operation name="UpdateTicket">
<input message="s0:UpdateTicketIn" />
<output message="s0:UpdateTicketOut" />
</operation>
- <operation name="ReleaseTicket">
<input message="s0:ReleaseTicketIn" />
<output message="s0:ReleaseTicketOut" />
</operation>
</portType>
- <binding name="FlexiCaptureWebServiceSoap" type="s0:FlexiCaptureWebServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="OpenSession">
<soap:operation soapAction="#OpenSession" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetProjects">
<soap:operation soapAction="#GetProjects" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="CloseSession">
<soap:operation soapAction="#CloseSession" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="OpenProject">
<soap:operation soapAction="#OpenProject" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="CloseProject">
<soap:operation soapAction="#CloseProject" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetBatchTypes">
<soap:operation soapAction="#GetBatchTypes" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewBatch">
<soap:operation soapAction="#AddNewBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="DeleteBatch">
<soap:operation soapAction="#DeleteBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewImage">
<soap:operation soapAction="#AddNewImage" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewDocument">
<soap:operation soapAction="#AddNewDocument" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewEmptyDocument">
<soap:operation soapAction="#AddNewEmptyDocument" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewPage">
<soap:operation soapAction="#AddNewPage" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="ProcessBatch">
<soap:operation soapAction="#ProcessBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetBatchPercentCompleted">
<soap:operation soapAction="#GetBatchPercentCompleted" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetDocuments">
<soap:operation soapAction="#GetDocuments" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetDocumentResultsList">
<soap:operation soapAction="#GetDocumentResultsList" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="LoadDocumentResult">
<soap:operation soapAction="#LoadDocumentResult" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetBatchType">
<soap:operation soapAction="#GetBatchType" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetBatches">
<soap:operation soapAction="#GetBatches" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetBatch">
<soap:operation soapAction="#GetBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="OpenBatch">
<soap:operation soapAction="#OpenBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="CloseBatch">
<soap:operation soapAction="#CloseBatch" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetDocument">
<soap:operation soapAction="#GetDocument" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="DeletePage">
<soap:operation soapAction="#DeletePage" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="DeleteDocument">
<soap:operation soapAction="#DeleteDocument" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewDocumentEx">
<soap:operation soapAction="#AddNewDocumentEx" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="AddNewPageEx">
<soap:operation soapAction="#AddNewPageEx" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="SetDocumentProperties">
<soap:operation soapAction="#SetDocumentProperties" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="LoadCustomFile">
<soap:operation soapAction="#LoadCustomFile" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="SaveCustomFile">
<soap:operation soapAction="#SaveCustomFile" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="RemoveCustomFile">
<soap:operation soapAction="#RemoveCustomFile" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetCustomFileNames">
<soap:operation soapAction="#GetCustomFileNames" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="WriteToLog">
<soap:operation soapAction="#WriteToLog" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetAvailableTasks">
<soap:operation soapAction="#GetAvailableTasks" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetTaskInfo">
<soap:operation soapAction="#GetTaskInfo" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="OpenTask">
<soap:operation soapAction="#OpenTask" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetTaskDocuments">
<soap:operation soapAction="#GetTaskDocuments" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="CloseTask">
<soap:operation soapAction="#CloseTask" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="CancelTask">
<soap:operation soapAction="#CancelTask" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="PostponeTask">
<soap:operation soapAction="#PostponeTask" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetPostponedTasks">
<soap:operation soapAction="#GetPostponedTasks" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="SendTaskToException">
<soap:operation soapAction="#SendTaskToException" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="GetNewTicket">
<soap:operation soapAction="#GetNewTicket" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="UpdateTicket">
<soap:operation soapAction="#UpdateTicket" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="ReleaseTicket">
<soap:operation soapAction="#ReleaseTicket" style="document" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="FlexiCaptureWebService">
- <port name="FlexiCaptureWebServiceSoap" binding="s0:FlexiCaptureWebServiceSoap">
<soap:address location="http://baikal-1:80/FlexiCapture/Server/WebServices.dll?Handler=Version2" />
</port>
</service>
</definitions>


FormReader 6.5 and FlexiCapture 9.0 rules compared

FormReader 6.5

Equivalent in FlexiCapture 9.0 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 four 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 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. 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 startup dialog 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.


ABBYY FlexiCapture sample projects

To see how ABBYY FlexiCapture 9.0 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 <disk name>:\\Documents and Settings\All Users\Application Data\ABBYY\FlexiCapture\9.0\Samples.

Note: Under Microsoft Windows Vista, the sample projects can be found in <disk name>:\\Users\Public\ABBYY\FlexiCapture\9.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 9.0. 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 9.0. 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.


Supported recognition languages

ABBYY FlexiCapture 9.0 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 9.0 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 9.0 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

Note: ABBYY FlexiCapture 9.0 can read Aztec and Datamatrix barcodes but it cannot detect them on images. Consequently, you can use these barcode types in Document Definitions but you cannot use them in FlexiLayouts or as document separators.


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


Export file formats

File formats to which ABBYY FlexiCapture 9.0 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 | [\\] |


Patents

U.S. Patent Nos. 5,258,855, 5,369,508, 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 9.0, please consult the detailed description of functionality in the Help Topics and User Guide supplied with ABBYY FlexiCapture 9.0. 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 9.0

To submit a purchase order for ABBYY FlexiCapture or ask any related questions, please contact regional offices of ABBYY.


ABBYY Offices

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 Technical support: support@abbyy.ru Web: http://www.abbyy.ru MAP
ABBYY USA | Tel.: +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 Technical support: support@abbyyusa.com Web: http://www.abbyy.com
ABBYY Ukraine | Phone: +380 44 490 9999 Fax: +380 44 490 9461 Address: P.O. Box 23, 02002 Kiev, Ukraine E-mail: forms@abbyy.ua Support phone: +380 44 490 9463 Support e-mail: formsupport@abbyy.ua Web: http://www.abbyy.ua
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
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
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
ABBYY Taiwan | Phone:+886-2-2655-0556 Fax: +886-2-2655-2339 Address: Room #524, 5Fl, Building E, No.19-11, Sanchong road, Nangang District, Taipei 115, Taiwan, R.O.C. E-mail: sales@abbyyusa.com Support E-mail: support@abbyyusa.com Web: http://www.abbyy.com


End-User License Agreement

ABBYY FlexiCapture 9.0

Important! Read the following terms carefully before installing, copying and/or using the product. Installing, copying or using the product indicates your acceptance of these terms.

This ABBYY End-User License Agreement ("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 "Next" in the SOFTWARE installation program. The date of this event is the Effective Date.

If the software is accompanied by a hard copy of License Agreement, in case of any discrepancies in content between the text of this EULA and the text in the License Agreement, the text in 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 "Cancel" in the SOFTWARE installation program.

Definitions:

"SOFTWARE" shall mean the ABBYY FlexiCapture 9.0 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.

"License" shall mean the non-exclusive right granted by ABBYY to You to install and use the SOFTWARE in accordance with the terms of this EULA.

"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 16.1 of this EULA is applied;

ABBYY Europe GmbH registered at Elsenheimerstr. 49 80687 Munich, when article 16.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 16.3 is applied;

ABBYY LLC registered at ul. Perovskaya dom 22, korpus 1, 111398, Moscow, Russia, when article 16.4 of this EULA is applied,

ABBYY Software House Ukraine registered at 31, Degtyarevskaya st., Kiev, Ukraine 03680, when article 16.5 of this EULA is applied,

and ABBYY Solutions Ltd., Michail Karaoli 2, Egkomi CY 2404, Nicosia, Cyprus, in all other cases.

"ABBYY Group" shall mean ABBYY with all its affiliates.

"ABBYY affiliate" shall mean an entity that, directly or indirectly, through one or more intermediaries, controls, is controlled by or is under common control of ABBYY.

"You" and "Your" and "end user” refer to and include any person 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 that provides the SOFTWARE and the right to use the SOFTWARE based on an agreement with ABBYY, which grants to such legal entity the rights to the SOFTWARE, which are necessary for such activity.

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 15.4 is applied and You are a legal entity, you may use the SOFTWARE only in the country of your registration unless otherwise agreed in a separate 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. 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.4. 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.5. 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.6. You may make a one-time permanent transfer of this SOFTWARE only directly to another end user. 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.7. Except as described in article 2.6, You may not transfer or distribute 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.8. This EULA does not grant you any rights in connection with any trademarks of ABBYY.

2.9. Reservation of Rights. 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.

3.3. You may simultaneously run as many copies of the SOFTWARE as permitted by the scope of Your License.

3.4. 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.5. 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.6. 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.7. You may not perform or make it possible for other persons to perform any activities from the list below:

3.7.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.7.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.7.3. 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 another computers unless otherwise stipulated in a separate agreement with ABBYY.

3.7.4. 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.7.5. 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 acknowledge that the SOFTWARE is protected from unauthorized copying and/or use. 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 of the SOFTWARE are stated in this EULA, unless otherwise stipulated in a separate agreement with ABBYY.

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 is not limited to, granting access to third parties, renting, leasing, or lending the SOFTWARE.

8. Maintenance and Technical Support

8.1. ABBYY or its 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.

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 15.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. For further information, please see the jurisdiction specific information in article 15 of this EULA.

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.1 shall 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 the 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. Export Rules

14.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 purchased or otherwise acquired. In addition, you represent and warrant that you are not prohibited under applicable laws from receiving the SOFTWARE.

15. Governing Law

15.1. If the SOFTWARE was obtained in the United States, Canada, Mexico, Central America, 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.

15.2. If the SOFTWARE was obtained in Austria, Belgium, Denmark, Finland, France, Germany, Greece, Italy, Luxembourg, the Netherlands, Portugal, Spain, Sweden, or any other member state of the European Union that is not mentioned in paragraph 15.3 or 15.4 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.

15.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

15.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 Latvia, Lithuania, or Estonia, this EULA shall be governed by and construed in accordance with the substantial laws in force in the Russian Federation.

15.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.

15.6. If paragraph 15.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 15.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.

15.7. If paragraph 15.5 is applied and You are a legal entity or a private entrepreneur, any 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 15.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

15.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.

15.9. If the SOFTWARE was purchased in a country other than the countries specified in articles 15.1, 15.2, 15.3, 15.4, 15.5, this EULA shall be governed by and construed in accordance with the substantial laws of the country in which you purchased the SOFTWARE.

16. Term and Termination

16.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.

16.2. You may terminate the EULA by destroying the SOFTWARE and accompanying documentation and all copies thereof.

16.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.

16.4. Provisions 2.3, 2.8, 2.9, 3.7, 7, 9.2, 9.3, 10, 15, 18.2, 18.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.

17. Government Use

17.1. If use is made of the SOFTWARE 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 (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.

18. General Provisions

18.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. This EULA shall not prejudice the statutory rights of any party dealing as a consumer.

18.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 Group and will not be disclosed to any third party, except as may be required by applicable law.

18.3. ABBYY may send you e-mails containing product and company news, information about special offers, advice on product usage and other product and company-related information provided You specifically agreed to receive such information from ABBYY. You have the possibility to remove your address from ABBYY mailing list at any time.

18.4. ABBYY may provide You with printed materials, including the User’s Guide.

18.5. Consideration under this EULA is the price of the SOFTWARE 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.

18.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 agreement with ABBYY.

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 in 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" shall mean services provided to You by ABBYY or its Partner for the Errors reported by You.

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 or delivered.

2.3. To extend the Maintenance period, You need to procure such an extension from ABBYY or its Partner. If article 15.2 or 15.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. ABBYY or its Partner shall provide Support Services to resolve priority 1 Errors.

4.2. 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.3. ABBYY or its Partner will provide Support Services related to the SOFTWARE during normal working hours via telephone or e-mail.

4.4. 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.5. 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.
  • Comment – you can enter any comments.

Field properties


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.

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 9.0, 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 9.0 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 9.0.

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, tha 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


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:
    Contract.dat
    Contract1.jpg
    Contract2.jpg
    Letter.dat
    Letter1.jpg
    Letter2.jpg,
    a batch will be created for Contract*.jpg files (when Contract.dat is found), and another batch will be created for Letter*.jpg files (when Letter.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 file must contain a root element Batch with child elements 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. Each Image element must contain a UNC path to the corresponding image file. The path to the folder containing the image must be the same for all Image elements.

    <Batch>

    ...

    <Images>
    <Image>\\HotFolder\Page1.tif</Image>
    <Image>\\HotFolder\Page2.tif</Image>
    <Image>\\HotFolder\Page3.tif</Image>

    </Images>

    </Batch>

    In the case, 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.


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 Detach 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.