ABBYY FineReader Engine

The most comprehensive OCR SDK for software developers.

Integrate AI-powered OCR features into your applications.

Usage of multi-core CPUs and parallel processing

The flexible and scalable architecture of ABBYY FineReader Engine allows leveraging multi-core CPUs and processing images in parallel on multiple threads. This way, the processing speed can be significantly increased.

By default, ABBYY FineReader Engine automatically detects whether to use multiprocessing or not. This depends on several factors, such as the number of available physical or logical CPU cores of the computing system, number of CPU cores defined within the license, and number of pages the document contains. If needed, the developer can easily change multiprocessing settings and tune the number of processes that should be run.

Converting multi-page documents with a large number of pages

It generally means processing books, long reports, etc. In this case, you can recognize pages of the document in parallel and then perform synthesis and export in the main process. You can also, when using a pool of Engines, process several multi-page documents simultaneously, but the memory consumption can be huge and even lead to "out of memory" errors.

For parallel processing of multi-page documents, we recommend using FRDocument. It is the most easy-to-code multiprocessing way, because you do not have to implement any additional interfaces.

In this case opening, pre-processing, analysis and recognition are performed in parallel; synthesis is performed sequentially in the main process, and then export is again performed in parallel.

Converting a large number of one-page documents

This is the case when you process invoices, contracts, letters, etc. Parallel processing is recommended as one-page documents do not depend on each other and do not require large amounts of memory at once.

FineReader Engine provides two options that can be used in this scenario:

Benefits 223V 77X77

Using BatchProcessor

The advantages of this method is that it can be used when you do not know in advance the number of documents, they can be of different types, and must be processed directly once they arrive. This method requires more implementation effort: you have to implement interfaces for a file adapter and a custom source of images. Opening, pre-processing, analysis and recognition are performed in parallel.

Benefits 164R 77X77

Using a pool of Engines loaded out-of-process by means of COM

This method is the most efficient in speed and automatically eliminates all difficulties related to multi-threading: all operations with the ABBYY FineReader Engine objects are serialized by means of COM.

Request information

Request trial

Fill out the form below, and we will get back to you shortly.

I am aware that my consent could be revoked at any time by clicking the unsubscribe link inside any email received from ABBYY Solutions Ltd. or via ABBYY Data Subject Access Rights Form.

By submitting this form, I consent to the use of my personal information for the purposes described in the Privacy Notice.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Thank you for your interest in ABBYY products!

We will get back to you shortly. If you’d like to contact ABBYY office in your region, please visit the Contacts page.

With best regards,
The ABBYY Team