Chinese Simplified (简体中文)

Engine Object API Compatibility with Version 10

This section describes all changes to the Engine object which may require changes in the source code of your applications.

Property/Method What has happened? Comment
Licenses Removed Use the IEngine::GetAvailableLicenses method instead.
SetCurrentLicense Input parameters changed

Project ID number is no longer used as an input parameter. You pass this parameter to the IEngine::GetAvailableLicenses method, and all licenses in the collection it returns have the same Customer Project ID.

The method takes as an input parameter a Boolean value that specifies whether CPU cores should be used in shared mode. This is because when you reset the license for the application, in effect you re-initialize it. So you need to set shared core usage mode again, as you do when you obtain the Engine object.

OpenExistingDictionary

CreateNewDictionary

CreateTextLanguage

Removed

Use corresponding methods of the LanguageDatabase object.

It is more convenient to have the language-related methods in language-related object, and the Engine object API becomes less massive.

CreateBaseLanguage Removed

Use the AddNew method of the BaseLanguages object instead.

It is more convenient to have this creation method in corresponding collection object, and the Engine object API becomes less massive.

CreateStandardDictionaryDesc

CreateUserDictionaryDesc

CreateRegExpDictionaryDesc

CreateExternalDictionaryDesc

Removed

Use the AddNew method of the DictionaryDescriptions object to create a dictionary description and the GetAsStandardDictionaryDescription, GetAsUserDictionaryDescription, GetAsRegExpDictionaryDescription, or GetAsExternalDictionaryDescription methods of the DictionaryDescription object to obtain a reference to the object of the corresponding type.

It makes sense to have the methods for dictionary descriptions creation in dictionary descriptions collection, and the Engine object API becomes less massive.

CreateLayoutBlocks Removed The method is obsolete and is no longer in use. The LayoutBlocks object cannot be an independent object, it exists only as a subobject of the Layout object. Use the properties of the Layout object to obtain collections of blocks.
PrepareMemoryImage Renamed

The new name of the method is PrepareBitmapBits. This name is more appropriate for new memory image format — bitmap data.

The pointer to a memory buffer containing image data is passed as __int64.

PrepareAndOpenMemoryImage Renamed

The new name of the methodis OpenBitmapBits. Now all methods working with images conform to the same naming convention:

  • Open... methods create an ImageDocument of the image and load it into memory;
  • Methods with the name containing BitmapBits work with bitmap data.

The pointer to a memory buffer containing image data is passed as __int64.

OpenImage Renamed

The new name of the method is LoadImageDoc. Now all methods working with images conform to the same naming convention:

  • Load... methods load into memory an ImageDocument which had been created before;
  • Methods with the name containing ImageDoc or ImageDocument work with an ImageDocument.
OpenMemoryImage Removed Use the OpenBitmapBits method instead. The difference is that it can optionally perform image preparation during conversion to the internal format.
OpenImageFileFromMemory Input parameters number changed
  • The pointer to a memory buffer containing image data is passed as __int64.
  • The variable fileFormat is no longer used as an input parameter. File format is determined using the fileName parameter.
  • The PDF files can be opened from memory. Because of this the method now receives the pointer to IImagePasswordCallback interface, which is necessary for opening password-protected PDF files.

AnalyzePage

RecognizePage

AnalyzePages

RecognizePages

RecognizeImageAsPlainText

RecognizeImageDocumentAsPlainText

AnalyzeAndRecognizePage

AnalyzeAndRecognizePages

SynthesizePages

SynthesizePagesEx

Removed

Use the methods of the FRDocument and FRPage objects instead.

These were the methods that performed specific processing stages. The Engine object is intended for use in basic scenarios. Most methods it provides combine many processing stages in one.

RecognizeImageFile Input parameters number changed The method receives all processing and synthesis parameters as one DocumentProcessingParams object.

CreatePDFExportParamsOld

CreatePDFAExportParamsOld

Removed These methods are obsolete. To create parameters of export to PDF, PDF/A formats, use the IEngine::CreatePDFExportParams method.

CreatePdfExtendedParams

CreateImageDocumentsCollection

CreateLayoutsCollection

Removed The methods are obsolete, corresponding objects are no longer in use.
CreatePDFEncryptionInfo Removed The method is obsolete and is no longer in use. To obtain the PDFEncryptionInfo object, you can use the EncryptionInfo property of the PDFExportFeatures object.

CreateDocumentAnalyzer

CreateDocumentInfo

CreateExporter

Removed The methods are not necessary anymore as the objects they created have been removed.
CreateLayout Removed The Layout object can no longer be used apart from the page it corresponds to.
CreateMultipageImageWriter Behavior changed This method now accepts extended image saving parameters for JPEG and TIFF formats.
ExportPage Removed Use the IFRPage::Export method instead.
ExportPages Removed Use the IFRDocument::Export method instead.
PrepareAndOpenImage Removed Use the IFRDocument::AddImageFile method to open an image file and add it to the document for processing. The ImageDocument object will be accessible via the corresponding FRPage.
PrepareImage Removed Use the IFRDocument::AddImageFile method to open an image file and add it to the document for processing. The ImageDocument object will be accessible via the corresponding FRPage and can be saved on disk later.

7/3/2024 8:50:10 AM

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.