Text Extraction

This scenario is used to recognize all document text to prepare documents for search and extraction of useful data.

The steps outlined below may serve as a basis for implementing more complex procedures which will extract the necessary data from documents, especially for automated input of paper document data into information systems and databases, and for automated classification and indexing of documents in document management systems (e.g., inputting invoices into accounting software, inputting questionnaires into a CRM system).

This scenario enables the extraction of the body text of a document and texts on logos, seals, and any elements other than the body text.

To extract the main text of the document, image files obtained by scanning or saved in the electronic format typically go through several processing stages, each of which has its own peculiarities:

  1. Preprocessing the scanned images or photos

Scanned images may require some preprocessing prior to recognition, for example, if scanned documents contain background noise, skewed text, inverted colors, black margins, wrong orientation, or resolution.

  1. Recognition of maximum amount of text on a document image

Recognition of images is performed using settings that ensure that all possible text is found and extracted from a document image.

The text obtained as a result of the processing may be used to search for the important data (however, instructions on how to implement this search are outside the scope of this article). Special algorithms can be devised to look up key words, e.g., titles of form fields, tables, lines and table columns, signature and stamp fields, etc. Fields containing important data can be found by key words and then re-read using special recognition parameters depending on the type of data. You can also check them for consistency with the data type and compliance with the necessary restrictions.

The extracted data can be saved to a database and an uneditable copy of the paper document can be put in the digital archive.

Scenario implementation

Below is the detailed description of the recommended method of using ABBYY FineReader Engine 12 in this scenario. The proposed method uses processing settings that are most suitable for this scenario.      

Step 1. Loading ABBYY FineReader Engine

Step 2. Loading settings for the scenario

Step 3. Loading and preprocessing the images

Step 4. Document recognition

Step 5. Searching for important information

Step 6. Unloading ABBYY FineReader Engine

Required resources

You can use the FREngineDistribution.csv file to automatically create a list of files required for your application to function. For processing with this scenario, select in the column 5 (RequiredByModule) the following values:




Opening, Processing



Processing.OCR, Processing.ICR


Processing.OCR.NaturalLanguages, Processing.ICR.NaturalLanguages

If you modify the standard scenario, change the required modules accordingly. You also need to specify the interface languages, recognition languages and any additional features which your application uses (such as, e.g., Opening.PDF if you need to open PDF files, or Processing.OCR.CJK if you need to recognize texts in CJK languages). See Working with the FREngineDistribution.csv File for further details.

Additional optimization for specific tasks

  • Scanning
    • Scanning
      Description of the ABBYY FineReader Engine scenario for document scanning.
  • Opening and preprocessing
    • Image Preprocessing
      Description of the ABBYY FineReader Engine scenario for preliminary preparation of images.
  • Recognition
    • Tuning Parameters of Preprocessing, Analysis, Recognition, and Synthesis
      Customization of document processing using objects of analysis, recognition and synthesis parameters.
    • PageProcessingParams Object
      This object enables customization of analysis and recognition parameters. Using this object, you can indicate which image and text characteristics must be detected (inverted image, orientation, barcodes, recognition language, recognition error margin).
    • SynthesisParamsForPage Object
      This object includes parameters responsible for restoration of a page formatting during synthesis.
    • SynthesisParamsForDocument Object
      This object enables customization of document synthesis: restoration of its structure and formatting.
    • MultiProcessingParams Object
      Simultaneous processing may be useful when processing a large number of images. In this case, the processing load will be spread over the processor cores during image opening and preprocessing, layout analysis, and recognition, which makes it possible to speed up processing.
      Reading modes (simultaneous or consecutive) are set using the MultiProcessingMode property. The RecognitionProcessesCount property controls the number of processes that may be started.
  • Searching for important information
  • Re-reading of document using special parameters for specified data type
  • Saving data

See also

Basic Usage Scenarios Implementation

24.03.2023 8:51:52

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.