Engine Object (IEngine Interface)

This object is the top object of ABBYY FlexiCapture SDK objects hierarchy. It exposes a set of creation methods and allows you to open a project. The Engine object properties reflect global settings for ABBYY FlexiCapture SDK.

The Engine object is the only externally creatable object among FlexiCapture SDK objects. To create this object, use the EngineLoader object created by the GetEngineLoader function. You can also use other ways to load the Engine object.

After you have received the reference to the Engine object, you can proceed your work with creating a new project or opening existing one. To create a new project, use the CreateProject method. The OpenProject method allows you to open one of the existing projects. You can also create the project with the help of ABBYY FlexiCapture 12, and then use it in ABBYY FlexiCapture 12 SDK.

  • Create some additional ABBYY FlexiCapture SDK objects with the help of creation methods.
  • Start logging of errors, warnings and method calls.


Name Type Description
ApplicationTitle String Assign the name of your application to this parameter. It will be used as the title for message boxes. By default the value of this property is "ABBYY FlexiCapture 12 SDK".
CurrentLicense License, read-only Returns the current license.
Licenses LicenseCollection, read-only Returns a collection of available (activated) licenses.
MessagesLanguage MessagesLanguageEnum

Defines the language of interaction between ABBYY FlexiCapture SDK and the user. All message boxes, error messages, and recognizer tips will be in this language. This parameter stays on between sessions. By default this property is initialized with the current system language, if this language is available in ABBYY FlexiCapture SDK; otherwise it is set to the language with the lowest code available.

Note: The locale for the selected messages language must be installed on the computer.

MultiProcessingParams MultiProcessingParams, read-only Provides access to the parameters of multiple CPU cores usage.
PredefinedLanguages PredefinedLanguages, read-only Provides access to the collection of predefined languages of ABBYY FlexiCapture SDK.
ParentWindow __int64 Stores HWND handle of the main window of an application which uses ABBYY FlexiCapture SDK. This parameter is used to correctly process dialogs and message boxes. You may change this parameter at any time or not to set it at all. ABBYY FlexiCapture SDK uses the standard MFC procedure for finding the main window. If the main window owns any popup windows, the last active popup will be used as the parent window rather than the window specified by this property. If you do not set a value for this property, the procedure of finding the main window may fail, and then ABBYY FlexiCapture SDK will perform incorrectly.
Version String, read-only Specifies the version of the FCEngine.dll file. For example, "".


Name Description
CreateBarcodeParams Creates the BarcodeParams object.
CreateBlocksCollection Creates the BlocksCollection object.
CreateBlockTypesCollection Creates the BlockTypesCollection object.
CreateCharParams Creates the CharParams object.
CreateExportParams Creates the ExportParams object.
CreateFieldDefinitionsCollection Creates the FieldDefinitionsCollection object.
CreateFieldValuesCollection Creates the FieldValuesCollection object.
CreateFileExportParams Creates the FileExportParams object.
CreateImageGroupingParams Creates the ImageGroupingParams object.
CreateImageLoadingParams Creates the ImageLoadingParams object.
CreateImageModification Creates the ImageModification object.
CreateImageProcessingParams Creates the ImageProcessingParams object.
CreateImageProcessingTools Creates the ImageProcessingTools object.
CreateInvoiceProject Creates a new empty FlexiCapture invoice project with the predefined countries and Document Definition for invoices.
CreateJpegExtendedParams Creates the JpegExtendedParams object.
CreateIntsCollection Creates the IntsCollection object.
CreatePageAnalysisParams Creates the PageAnalysisParams object.
CreateProject Creates a new empty Project object.
CreateReceiptProject Creates a new empty FlexiCapture receipt project with the predefined countries and Document Definition for receipts.
CreateRecognizedCharacterInfo Creates the RecognizedCharacterInfo object.
CreateRecognizedWordInfo Creates the RecognizedWordInfo object.
CreateRectangle Creates the Rectangle object.
CreateRegion Creates the Region object.
CreateRegionsCollection Creates the RegionsCollection object.
CreateScanManager Creates the ScanManager object.
CreateSectionDefinitionsCollection Creates the SectionDefinitionsCollection object.
CreateStringsCollection Creates the StringsCollection object.
CreateText Creates the Text object from the specified string.
CreateTextsCollection Creates the TextsCollection object.
EnableRecognitionVariants Enables or disables collecting information about recognition variants during recognition.
LoadImageDocFromFile Restores the contents of the ImageDocument object from the file.
LoadImageDocFromMemory Restores the contents of the ImageDocument object from the global memory.
LoadImageDocument Restores the contents of the ImageDocument object from a folder on disk.
LogUnreleasedObjects Writes to the log file a list of objects that are not currently deleted.
OpenProject Opens the specified project.
SetCurrentLicense Sets the current license.
StartLogging Enables logging of errors, warnings and method calls.
StopLogging Disables logging of errors, warnings and method calls.
UpdateProject Updates the project at the specified location.

Output parameter

This object is the output parameter of the GetEngine method of the IEngineLoader interface.


This object is used in all code samples.

See also


Different Ways to Load Engine Object

Using ABBYY FlexiCapture SDK in Multi-Threaded Server Applications

Working with Properties

15.08.2023 13:19:30

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.