
ABBYY FlexiCapture Engine 9.0: technology for extracting data from documents is now available to developers
Products based on our data extraction technology are used in various projects around the world and solve both highly specialized tasks in individual industries (education, banking, insurance, telecommunications and others), and large tasks in projects of a national scale (a unified state exam in Russia , census in several countries, presidential election in Chile, reporting input system of the State Employment Center of Ukraine).
ABBYY FlexiCapture exists both in the form of a ready-made customizable solution, and in the form of an SDK. Often, deep integration of the data entry subsystem into the customer’s information system is not possible using ready-made solutions. In this case, our SDK comes to the rescue, and now we will tell you about how it works and in what projects it is used.
Surely most of you know what the SDK is, for the rest we’ll say: SDK is a set of ready-made libraries of functions that allows developers to embed ready-made technologies (in our case, technology for recognizing and processing forms) in the solutions they create. Since we have not yet told you about earlier versions of the ABBYY FlexiCapture Engine on this blog, at the beginning of the post a couple of words about what this product can do at all, and then we will move on to the new version.
Features ABBYY FlexiCapture Engine for Windows:
1. Automatic classification of documents.
2. Processing of any types of documents, regardless of structure:
- rigid structured / structured documents: questionnaires, examination tests, forms, insurance forms, requests for payment of health insurance, tax returns, etc.
- poorly structured documents: invoices, purchase orders, delivery notes, etc.
- unstructured documents: letters, contracts, articles, etc.
3. Processing of multi-page documents and tables.
Documents are processed by comparing the recognized document with a set of predefined templates. Moreover, document templates can be of two types - rigid (with a predetermined location of the fields in the document) and flexible (in which the location of the fields is determined on the basis of specified elements, data or various kinds of relationships and rules).
For convenient and quick template development, special visual modeling tools are provided. Templates can be created independently for any type of documents, including unstructured ones - this is very easy to do. Below is an example of a template that is created and used for processing invoices (invoices belong to the category of documents with a weak structure), as well as a template for an application form (example of a document with a rigid structure).


Special Verification APIin ABBYY FlexiCapture Engine allows you to get a list of fields / characters for checking by the user. In addition, it is possible to obtain additional information about recognized fields, for example, coordinates, field type, error list, percentage of confidently recognized characters, which, in turn, allows you to configure the quality of checking recognized characters, as well as track errors that occur during processing and assembly of a document.
After processing, documents can be exported to the target information system in the form of structured data, and additionally in the form of electronic documents in PDF or PDF / A format.. This feature allows, along with data extraction for subsequent processing, to simultaneously create archives of electronic documents with the ability to search for documents by their contents. For example, processing invoices in this scenario will allow you to automatically upload financial data to the ERP system, and save electronic copies of invoices in PDF format to an electronic archive.
This is a classic product scenario, but there are more unusual ones. So, ABBYY FlexiCapture Engine can be installed in self-service terminals, where we pay for a phone or pay receipts, the product can be used in security systems or access control systems where you need to recognize data from identification documents (for example, from passports).
And you can also get data not from the scanner, but from a mobile phone and transfer it not to the company’s database, but, for example ... to the tax office. This scenario was invented and implemented by the American company Intuit. Using a mobile application, any American can photograph his income statement (form W-2, an analogue of the Russian personal income tax-2), the program will send the image to the server where our FlexiCapture Engine is installed, after processing the data is sent to the IRS (US tax authority).

In one of the next posts we will tell you more about this project.
And now - about the new version of our product.
What's New in ABBYY FlexiCapture Engine 9.0
This version contains almost all the improvements that appeared in the ninth version of the ABBYY FlexiCapture product. These are new recognition languages (Chinese, Japanese and Korean), a new multi-level classifier, technology for removing color seals and stamps from documents to improve recognition quality or, conversely, hide individual fields during export.
So color stamps are removed from documents. It was:

It has become:

This is how the function of hiding individual fields works. It was:

It became:

In addition to improvements in technology, the API was significantly improved. In the new version, developers can directly control the processing process through the code - upload images, set processing parameters, create a list of overlapping templates and upload (export) data.
The source images and processing templates can be stored not only in the file system on the disk, but also in arbitrary storage (database, network storage). In the previous version of the product, when accessing such repositories, it was necessary to create temporary files, in addition, all these files had to be pre-loaded before processing began. The new version has the ability to work with files from remote repositories directly, accessing data in the form of a stream of bytes in memory. This allows you to organize parallel processing and loading of images (load the first image, start its recognition, and simultaneously load the remaining images). For many scenarios, this greatly speeds up the program,
For example, a developer can create an application that will process user pictures stored in Picasa Web Albums. Moreover, templates for processing these images can be stored centrally, which is convenient for keeping the template database up to date.

In addition, ABBYY FlexiCapture Engine 9.0 is specially optimized for use in multi-threaded mode, in which tasks can be distributed on different cores in multi-core processor systems, and document processing is much faster.

Even in the new version, we updated and expanded the Code Samples Library - a list of FCE scripts with tips on how to write code that allows you to implement a particular script, and a demonstration of how this script works.

In one of the upcoming releases, another important component will be added - visual components - that is, interface elements that developers can insert into their applications.
At the output, we got a universal developer toolkit, which includes a whole range of features: a greater number of recognition languages, an easy-to-use API, visual tools for creating templates, a library of code examples, support for various development environments, and, of course, recognition accuracy. Anticipating questions, let's say that the Linux version is already in development.
You can read more about ABBYY FlexiCapture 9.0 for Windows on the ABBYY website .
Maxim Bochkarev
Department of Products for Developers