> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Engine Object API Compatibility with Version 10

> Engine object API compatibility changes between ABBYY FineReader Engine 12 and 10 — renamed and removed methods, properties, and signatures.

This section describes all changes to the [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface) object which may require changes in the source code of your applications.

<table><thead><tr><th><p><strong>Property/Method</strong></p></th><th><p><strong>What has happened?</strong></p></th><th><p><strong>Comment</strong></p></th></tr></thead><tbody><tr><td><p><strong>ParentWindow</strong></p></td><td><p>Type changed</p></td><td><p>This <strong>Windows</strong> property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td><p><strong>Licenses</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/getavailablelicenses-method">IEngine::GetAvailableLicenses</a></strong> method instead.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/setcurrentlicense-method">SetCurrentLicense</a></strong></p></td><td><p>Input parameters changed</p></td><td><p>Project ID number is no longer used as an input parameter. You pass this parameter to the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/getavailablelicenses-method">IEngine::GetAvailableLicenses</a></strong> method, and all licenses in the collection it returns have the same Customer Project ID.</p><p>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 <strong>Engine</strong> object.</p></td></tr><tr><td><p><strong>OpenExistingDictionary</strong></p><p><strong>CreateNewDictionary</strong></p><p><strong>CreateTextLanguage</strong></p></td><td><p>Removed</p></td><td><p>Use corresponding methods of the <strong><a href="/fine-reader/engine/api-reference/language-related-objects/languagedatabase">LanguageDatabase</a></strong> object.</p><p>It is more convenient to have the language-related methods in language-related object, and the Engine object API becomes less massive.</p></td></tr><tr><td><p><strong>CreateBaseLanguage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/supplementary-objects-and-methods/addnew-method">AddNew</a></strong> method of the <strong><a href="/fine-reader/engine/api-reference/language-related-objects/baselanguages">BaseLanguages</a></strong> object instead.</p><p>It is more convenient to have this creation method in corresponding collection object, and the Engine object API becomes less massive.</p></td></tr><tr><td><p><strong>CreateStandardDictionaryDesc</strong></p><p><strong>CreateUserDictionaryDesc</strong></p><p><strong>CreateRegExpDictionaryDesc</strong></p><p><strong>CreateExternalDictionaryDesc</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescriptions/addnew-method">AddNew</a></strong> method of the <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescriptions">DictionaryDescriptions</a></strong> object to create a dictionary description and the <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescription/getasstandarddictionarydescription-method">GetAsStandardDictionaryDescription</a></strong>, <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescription/getasuserdictionarydescription-method">GetAsUserDictionaryDescription</a></strong>, <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescription/getasregexpdictionarydescription-method">GetAsRegExpDictionaryDescription</a></strong>, or <strong><a href="/fine-reader/engine/api-reference/language-related-objects/dictionarydescription/getasexternaldictionarydescription-method">GetAsExternalDictionaryDescription</a></strong> methods of the <strong>DictionaryDescription </strong>object to obtain a reference to the object of the corresponding type.</p><p>It makes sense to have the methods for dictionary descriptions creation in dictionary descriptions collection, and the Engine object API becomes less massive.</p></td></tr><tr><td><p><strong>CreateLayoutBlocks</strong></p></td><td><p>Removed</p></td><td><p>The method is obsolete and is no longer in use. The <strong><a href="/fine-reader/engine/api-reference/layout-related-objects/layoutblocks">LayoutBlocks</a></strong> object cannot be an independent object, it exists only as a subobject of the <strong><a href="/fine-reader/engine/api-reference/layout-related-objects/layout">Layout</a></strong> object. Use the properties of the <strong>Layout</strong> object to obtain collections of blocks.</p></td></tr><tr><td><p><strong>PrepareMemoryImage</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmapbits-method">PrepareBitmapBits</a></strong>. This name is more appropriate for new memory image format — <a href="/fine-reader/engine/api-reference/enumerations/bitmapbitsformatenum">bitmap data</a>.</p><p>The pointer to a memory buffer containing image data is passed as <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong>.</p><p>In <strong>Windows</strong>, this change has been made for 64-bit operating systems support.</p></td></tr><tr><td><p><strong>PrepareAndOpenMemoryImage</strong></p><p><strong>PrepareAndOpenBitmap</strong><br /><strong> </strong></p><p><strong>PrepareAndOpenDib</strong></p></td><td><p>Renamed</p></td><td><p>The new names of the methods are <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmapbits-method">OpenBitmapBits</a></strong>, <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmap-method">OpenBitmap</a></strong> (Windows method), and <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/opendib-method">OpenDib</a> </strong>(Windows method), respectively. Now all methods working with images conform to the same naming convention:</p><ul><li><strong>Open...</strong> methods create an <strong>ImageDocument</strong> of the image and load it into memory;</li><li>Methods with the name containing <strong>BitmapBits</strong> work with <a href="/fine-reader/engine/api-reference/enumerations/bitmapbitsformatenum">bitmap data</a>.</li></ul><p>The pointer to a memory buffer containing image data is passed as <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong>.</p><p>In <strong>Windows</strong>, This change has been made for 64-bit operating systems support.</p></td></tr><tr><td><p><strong>OpenImage</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/loadimagedoc-method">LoadImageDoc</a></strong>. Now all methods working with images conform to the same naming convention:</p><ul><li><strong>Load...</strong> methods load into memory an <strong>ImageDocument</strong> which had been created before;</li><li>Methods with the name containing <strong>ImageDoc</strong> or <strong>ImageDocument </strong>work with an <strong>ImageDocument</strong>.</li></ul></td></tr><tr><td><p><strong>OpenMemoryImage</strong></p><p><strong>OpenBitmapImage\*</strong></p><p><strong>OpenDib\*</strong><br /><strong> </strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmapbits-method">OpenBitmapBits</a></strong>, <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmap-method">OpenBitmap</a>\*</strong>, and <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/opendib-method">OpenDib</a>\*</strong> methods instead. The difference is that these methods can optionally perform image preparation during conversion to the internal format.</p><Note>Windows Methods</Note></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openimagefilefrommemory-method">OpenImageFileFromMemory</a></strong></p></td><td><p>Input parameters number changed</p></td><td><ul><li>The pointer to a memory buffer containing image data is passed as <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong>.<br /> <br />In <strong>Windows</strong>, This change has been made for 64-bit operating systems support.<br /> </li><li>The variable <em>fileFormat</em> is no longer used as an input parameter. File format is determined using the <em>fileName</em> parameter.</li><li>The following files can be opened from memory:<ul><li><strong>PDF</strong></li><li><strong>DjVu</strong> in Windows</li><li><strong>WDP</strong> in Windows</li></ul></li></ul><p>Because of this the method now receives the pointer to <strong><a href="/fine-reader/engine/api-reference/image-related-objects/iimagepasswordcallback">IImagePasswordCallback</a></strong> interface, which is necessary for opening password-protected PDF files.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/loadimagedocfrommemory-method">LoadImageDocFromMemory</a></strong></p><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparedib-method">PrepareDib</a></strong></p><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmap-method">PrepareBitmap</a></strong></p></td><td><p>Input parameters type changed</p></td><td><p>The pointer to a memory buffer containing image data is passed as <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong>.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td><p><strong>AnalyzePage</strong></p><p><strong>RecognizePage</strong></p><p><strong>AnalyzePages</strong></p><p><strong>RecognizePages</strong></p><p><strong>RecognizeImageAsPlainText</strong></p><p><strong>RecognizeImageDocumentAsPlainText</strong></p><p><strong>AnalyzeAndRecognizePage</strong></p><p><strong>AnalyzeAndRecognizePages</strong></p><p><strong>SynthesizePages</strong></p><p><strong>SynthesizePagesEx</strong></p></td><td><p>Removed</p></td><td><p>Use the methods of the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument">FRDocument</a></strong> and <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage">FRPage</a></strong> objects instead.</p><p>These were the methods that performed specific processing stages. The <strong>Engine</strong> object is intended for use in basic scenarios. Most methods it provides combine many processing stages in one.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/recognizeimagefile-method">RecognizeImageFile</a></strong></p></td><td><p>Input parameters number changed</p></td><td><p>The method receives all processing and synthesis parameters as one <strong><a href="/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/documentprocessingparams">DocumentProcessingParams</a></strong> object.</p></td></tr><tr><td><p><strong>CreatePDFExportParamsOld</strong></p><p><strong>CreatePDFAExportParamsOld</strong></p></td><td><p>Removed</p></td><td><p>These methods are obsolete. To create parameters of export to PDF, PDF/A formats, use the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods">IEngine::CreatePDFExportParams</a></strong> method.</p></td></tr><tr><td><p><strong>CreatePdfExtendedParams</strong></p><p><strong>CreateImageDocumentsCollection</strong></p><p><strong>CreateLayoutsCollection</strong></p></td><td><p>Removed</p></td><td><p>The methods are obsolete, corresponding objects are no longer in use.</p></td></tr><tr><td><p><strong>CreatePDFEncryptionInfo</strong></p></td><td><p>Removed</p></td><td><p>The method is obsolete and is no longer in use. To obtain the <strong><a href="/fine-reader/engine/api-reference/parameter-objects/export-parameters/pdfencryptioninfo">PDFEncryptionInfo</a></strong> object, you can use the <strong>EncryptionInfo</strong> property of the <strong><a href="/fine-reader/engine/api-reference/parameter-objects/export-parameters/pdfexportfeatures">PDFExportFeatures</a></strong> object.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createscanmanager-method">CreateScanManager</a></strong></p></td><td><p>Input parameters number changed</p></td><td><p>The <strong>Windows</strong> method receives an optional boolean parameter specifying whether the log of scanning operation should be written.</p><p>Turning off scanning logs may be useful in the situation when your application does not have access to the <a href="/fine-reader/engine/frequently-asked-questions#scan_logs">default folder</a> for logs.</p></td></tr><tr><td><p><strong>RestartLicening</strong></p></td><td><p>Renamed</p></td><td><p>There was a misprint in the method name. It is now called <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/restartlicensing-method">RestartLicensing</a>.</strong></p><Note>This method is implemented in FRE for Linux and Windows.</Note></td></tr><tr><td><p><strong>CreateDocumentAnalyzer</strong></p><p><strong>CreateDocumentInfo</strong></p><p><strong>CreateExporter</strong></p></td><td><p>Removed</p></td><td><p>The methods are not necessary anymore as the objects they created have been removed.</p></td></tr><tr><td><p><strong>CreateImageDocumentsInMemory\*</strong></p></td><td><p>Removed</p></td><td><p>The image documents are always created in memory. Users can use the <strong><a href="/fine-reader/engine/api-reference/image-related-objects/imagedocument/saveto-method">SaveTo</a></strong>\* or <strong><a href="/fine-reader/engine/api-reference/image-related-objects/imagedocument/savetofile-method">SaveToFile</a></strong>\* methods whenever you need to save the image document on disk.</p><Note>Windows methods.</Note></td></tr><tr><td><p><strong>CreateLayout</strong></p></td><td><p>Removed</p></td><td><p>The <strong><a href="/fine-reader/engine/api-reference/layout-related-objects/layout">Layout</a></strong> object can no longer be used apart from the page it corresponds to.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createmultipageimagewriter-method">CreateMultipageImageWriter</a></strong></p></td><td><p>Behavior changed</p></td><td><p>This method now accepts extended image saving parameters for JPEG and TIFF formats.</p></td></tr><tr><td><p><strong>ExportPage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/export-method">IFRPage::Export</a></strong> method instead.</p></td></tr><tr><td><p><strong>ExportPages</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/export-method">IFRDocument::Export</a></strong> method instead.</p></td></tr><tr><td><p><strong>PrepareAndOpenImage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefile-method">IFRDocument::AddImageFile</a></strong> method to open an image file and add it to the document for processing. The <strong><a href="/fine-reader/engine/api-reference/image-related-objects/imagedocument">ImageDocument</a></strong> object will be accessible via the corresponding <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage">FRPage</a></strong>.</p></td></tr><tr><td><p><strong>PrepareImage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefile-method">IFRDocument::AddImageFile</a></strong> method to open an image file and add it to the document for processing. The <strong><a href="/fine-reader/engine/api-reference/image-related-objects/imagedocument">ImageDocument</a></strong> object will be accessible via the corresponding <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage">FRPage</a> </strong>and can be saved on disk later.</p></td></tr></tbody></table>
