English (English) - Change language

Creating a FlexiLayout

A FlexiLayout is a formalized description of a set of unstructured documents which enables a data capture application to locate data fields on the documents and extract information from these fields.

For each object or a group of objects which must be detected on a document image a FlexiLayout element is created. The properties of the element describe the properties of the corresponding object. Thus the element will tell the program whether the object to look for is a picture, a text fragment or a barcode, how large it is and where it is most likely to be found on a document image.

A FlexiLayout block tells the program where to look for objects from which data must be captured. Block coordinates may be specified directly or by means of elements.

ABBYY FlexiLayout Studio offers a user-friendly visual interface which allows you to create FlexiLayouts consisting of elements and blocks. However, FlexiLayout creation requires a certain degree of creativity, as one and the same object can often be detected in more than one way, and the user must decide on which detection strategy to use.

FlexiLayout creation consists of the following stages:

Creating a FlexiLayout Studio project

A project is a file which contains all the FlexiLayout data. It records the formalized description of the layout and is used for compiling and testing the FlexiLayout.


Creating a batch of document images

A batch is a set of sample document images which must be representative of the entire batch of documents which are to be processed.



Pre-recognition is a process whereby ABBYY FlexiLayout Studio detects atomic objects on an image, such as text fragments, separators, check boxes, etc. Pre-recognition gives you an idea of what you can look for on the documents in a batch.


Analyzing pre-recognition results

Once a document has been pre-recognized, you need to analyze it in order to find objects which can be reliable detected on all of the documents in the batch. Here is what you should look for:

  • Objects which are located in exactly the same place on all of the documents (these can be logos, headers, titles and similar objects);
  • Objects which have been reliably recognized and which are present on all of the document images;
  • Objects which are almost unaffected by the quality of printing or scanning;

If there is a sufficient number of such objects, you can describe the locations of all the other objects on the documents relative to these objects. At this stage you can also select the best way to look for a particular object on the document.


Creating FlexiLayout elements and blocks

First you need to create elements for objects which can be detected without resorting to other objects on the document (for example, a title or another text fragment which occurs on each document). Then the locations of the other objects are described relative to already created elements. The FlexiLayout elements will form a tree of elements - from the most reliable objects to the least reliable.

If the document contains objects which distinguish one set of documents from the other sets, elements for such objects should be created first. These objects will be used as identifiers so that FlexiLayouts created for one set of documents are not matched with the documents from another set by mistake. This will speed up documents processing and make data capture more reliable.

Only the user can decide which elements and blocks must be created first. However we recommend testing the FlexiLayout after each new element or block has been created to make sure that the new element can indeed be used to detect the object it describes on all of the sample images.

It can be useful to visually divide the document into several logical parts and sequentially describe image objects of each part. This will facilitate further debugging of the FlexiLayout.


Compiling the FlexiLayout

When you build a FlexiLayout, the program checks its logic and consistency.


Testing the FlexiLayout by matching it with document images and testing it

In order to test your FlexiLayout you need to try matching it with sample document images. The FlexiLayout must not only match all of the sample images, but also enable the program to detect the corresponding objects correctly. We recommend testing your FlexiLayouts after each new element or block has been added to it. It is much easier to detect errors in the FlexiLayout at this stage than in a complete FlexiLayout, particularly if your documents have sophisticated layouts.


Exporting the FlexiLayout

Once the FlexiLayout is complete, it must can be exported from ABBYY FlexiLayout Studio and imported into a data capture application.


15.09.2020 9:42:43

Please leave your feedback about this article