> ## 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.

# Mechanism Objects Compatibility with Version 10

> Mechanism object API compatibility changes between ABBYY FineReader Engine 12 and 10 — DocumentAnalyzer and Exporter removed; use FRDocument and FRPage methods instead.

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

* The obsolete DocumentAnalyzer and Exporter objects have been removed. Use the more efficient methods of the [FRDocument](/fine-reader/engine/api-reference/document-related-objects/frdocument) and [FRPage](/fine-reader/engine/api-reference/document-related-objects/frpage) objects, which take care of all the information needed for full document processing. You are no longer required to maintain the DocumentInfo object on all processing stages, keep track of all the image documents with the corresponding layouts, or implement the IRecognizedPages interface.<br />See below for recommendations on which methods should replace the methods of DocumentAnalyzer and Exporter you previously used.

<table><thead><tr><th><p><strong>Object/Enumeration</strong></p></th><th><p><strong>Property/Method/Constant</strong></p></th><th><p><strong>What has happened?</strong></p></th><th><p><strong>Comment</strong></p></th></tr></thead><tbody><tr><td rowspan="20"><p><strong>DocumentAnalyzer</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>The object is obsolete. Its methods were replaced by more efficient 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, which do not require you to maintain the <strong>DocumentInfo</strong> object on all processing stages, or implement the <strong>IRecognizedPages</strong> interface.</p></td></tr><tr><td><p><strong>AddWordsToCacheDictionary</strong></p><p><strong>AddWordToCacheDictionary</strong></p><p><strong>CleanCacheDictionary</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/addwordstocachedictionary-method">IFRPage::AddWordsToCacheDictionary</a></strong>, <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/addwordtocachedictionary-method">IFRPage::AddWordToCacheDictionary</a></strong>, <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/cleancachedictionary-method">IFRPage::CleanCacheDictionary</a></strong> methods for working with cache dictionaries.</p></td></tr><tr><td><p><strong>AnalyzePage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/analyze-method">IFRPage::Analyze</a></strong> method instead.</p></td></tr><tr><td><p><strong>AnalyzePages</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/analyze-method">IFRDocument::Analyze</a></strong> method instead.</p></td></tr><tr><td><p><strong>AnalyzeRegion</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/analyzeregion-method">IFRPage::AnalyzeRegion</a></strong> method instead.</p></td></tr><tr><td><p><strong>AnalyzeTable</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/analyzetable-method">IFRPage::AnalyzeTable</a></strong> method instead.</p></td></tr><tr><td><p><strong>AnalyzeAndRecognizePage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/preprocessanalyzerecognize-method">IFRPage::PreprocessAnalyzeRecognize</a></strong> method instead.</p></td></tr><tr><td><p><strong>AnalyzeAndRecognizePages</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method">IFRDocument::Process</a></strong> method instead. It performs full processing of the document, including document synthesis.</p></td></tr><tr><td><p><strong>AutoCleanRecognizerSession</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/properties#autocleanrecognizersession">IEngine::AutoCleanRecognizerSession</a></strong> property, which works in exactly the same way.</p></td></tr><tr><td><p><strong>CleanRecognizerSession</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/cleanrecognizersession-method">IEngine::CleanRecognizerSession</a></strong> method, which works in exactly the same way.</p></td></tr><tr><td><p><strong>DetectOrientation</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/detectorientation-method">IFRPage::DetectOrientation</a></strong> method instead.</p></td></tr><tr><td><p><strong>ExtractBarcodes</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/extractbarcodes-method">IFRPage::ExtractBarcodes</a></strong> method instead.</p></td></tr><tr><td><p><strong>FindPageSplitPosition</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/findpagesplitposition-method">IFRPage::FindPageSplitPosition</a></strong> method instead.</p></td></tr><tr><td><p><strong>LearnCheckmarks</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/learncheckmarks-method">IFRPage::LearnCheckmarks</a></strong> method instead.</p></td></tr><tr><td><p><strong>RecognizeBlocks</strong></p></td><td><p>Input parameters number changed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/recognizeblocks-method">IFRPage::RecognizeBlocks</a></strong> method instead.</p></td></tr><tr><td><p><strong>RecognizeImageAsPlainText</strong></p></td><td><p>Removed</p></td><td><p>To recognize an image as plain text create the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument">FRDocument</a></strong> from the image with the help of the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createfrdocumentfromimage-method">IEngine::CreateFRDocumentFromImage</a></strong> method, use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method">IFRDocument::Process</a></strong> method to recognize the document, then access the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument#plaintext">IFRDocument::PlainText</a></strong> property.</p></td></tr><tr><td><p><strong>RecognizeImageDocumentAsPlainText</strong></p></td><td><p>Removed</p></td><td><p>To recognize the page as plain text, use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/preprocessanalyzerecognize-method">IFRPage::PreprocessAnalyzeRecognize</a></strong> method, then access the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage#plaintext">IFRPage::PlainText</a></strong> property.</p></td></tr><tr><td><p><strong>RecognizePage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/recognize-method">IFRPage::Recognize</a></strong> method instead.</p></td></tr><tr><td><p><strong>RecognizePages</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frdocument/recognize-method">IFRDocument::Recognize</a></strong> method instead.</p></td></tr><tr><td><p><strong>RemoveGeometricalDistortions</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong>IImageDocument::RemoveGeometricalDistortions</strong> method instead.</p></td></tr><tr><td><p><strong>IDocumentAnalyzerEvents</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>This interface is no longer necessary because the object which reported events has been removed.</p><p>The <strong><a href="/fine-reader/engine/api-reference/document-related-objects/ifrdocumentevents">IFRDocumentEvents</a></strong> and <strong><a href="/fine-reader/engine/api-reference/document-related-objects/ifrpageevents">IFRPageEvents</a></strong> interfaces provide similar information on progress and errors for the objects which replaced <strong>DocumentAnalyzer</strong>.</p></td></tr><tr><td rowspan="3"><p><strong>Exporter</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>The object is obsolete. Its methods were replaced by more efficient 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, which do not require you to maintain the <strong>DocumentInfo</strong> object on all processing stages, or implement the <strong>IRecognizedPages</strong> interface.</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>ExportPagesEx</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>IExporterEvents</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>This interface is no longer necessary because the object which reported events has been removed.</p><p>The <strong><a href="/fine-reader/engine/api-reference/document-related-objects/ifrdocumentevents">IFRDocumentEvents</a></strong> and <strong><a href="/fine-reader/engine/api-reference/document-related-objects/ifrpageevents">IFRPageEvents</a></strong> interfaces provide similar information on progress and errors for the objects which replaced <strong>Exporter</strong>.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/enumerations/frenginemoduleenum">FREngineModuleEnum</a></strong></p></td><td><p>FREM\_DocumentAnalyzer</p></td><td><p>Removed</p></td><td><p>This constant is no longer in use.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scanmanager">ScanManager</a></strong></p><Note>ScanManager is Windows only.</Note></td><td><p><strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scanmanager#scansources">ScanSources</a></strong></p></td><td><p>Type changed</p></td><td><p>This <strong>Windows</strong> property returns the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansources">ScanSources</a></strong> collection of scanning sources. New <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource">ScanSource</a></strong> interface provides access to extended scanning options.</p></td></tr><tr><td><br /></td><td><p><strong>ScanOptionsInterfaceType</strong></p></td><td><p>Removed</p></td><td><p>To set the type of scanning options dialog box use the <em>UserInterfaceType</em> parameter of the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource/scan-method">Scan</a></strong> and<strong> <a href="/fine-reader/engine/api-reference/mechanism-objects/scansource/beginscan-method">BeginScan</a> </strong>methods of the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource">ScanSource</a></strong> object.</p></td></tr><tr><td><br /></td><td><p><strong>ScanSourceSettings</strong></p></td><td><p>Removed</p></td><td><p>The settings are specified for each scanning source separately. Use the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource#scansettings">ScanSource::ScanSettings</a></strong> property to specify scanning source settings.</p></td></tr><tr><td><br /></td><td><p><strong>Scan</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource/scan-method">Scan</a></strong> method of the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource">ScanSource</a></strong> object for synchronous scanning operation. But note that asynchronous scanning is now also supported, via the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource/beginscan-method">BeginScan</a></strong> method of the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansource">ScanSource</a></strong> object.</p></td></tr><tr><td><p><strong>IScanManagerEvents</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>This <strong>Windows </strong>interface is no longer in use. The scanning notifications are received through new <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/iscancallback">IScanCallback</a></strong> interface.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansourcesettings">ScanSourceSettings</a></strong></p><Note>ScanSourceSettings is Windows only.</Note></td><td><p><strong>Brightness</strong></p><p><strong>Delay</strong></p></td><td><p>Default value changed</p></td><td><p>The default value of these properties is 0.</p></td></tr><tr><td><br /></td><td><p><strong>BrightnessControl</strong></p><p><strong>PaperSize</strong></p><p><strong>Resolution</strong></p><p><strong>RotationAngle</strong></p></td><td><p>Default values changed</p></td><td><p>The default values of these properties are determined by the scanner capabilities.</p></td></tr><tr><td><br /></td><td><p><strong>PictureMode</strong></p></td><td><p>Renamed, default value changed</p></td><td><p>The new name of this property is <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansourcesettings#colormode">ColorMode</a></strong>.</p><p>The default value of this property depends on the scanner.</p></td></tr><tr><td><br /></td><td><p><strong>UseFeeder</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansourcesettings#paperfeedmode">PaperFeedMode</a></strong> property instead.</p></td></tr><tr><td><br /></td><td><p><strong>StopBetweenPages</strong></p><p><strong>PauseBetweenPages</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/api-reference/mechanism-objects/scansourcesettings#pausebetweenpagesmode">PauseBetweenPagesMode</a></strong> property instead.</p></td></tr><tr><td><p><strong>ScanPictureModeEnum</strong></p></td><td><br /></td><td><p>Renamed</p></td><td><p>The new name of this <strong>Windows</strong> enumeration is <strong><a href="/fine-reader/engine/api-reference/enumerations/scancolormodeenum">ScanColorModeEnum</a></strong>. The constants have been renamed likewise to have the SCM\_ prefix instead of SPM\_.</p></td></tr><tr><td><p><strong>ScanPageRotationAngleEnum</strong></p></td><td><br /></td><td><p>Renamed</p></td><td><p>The new name of this <strong>Windows</strong> enumeration is <strong><a href="/fine-reader/engine/api-reference/enumerations/scanrotationangleenum">ScanRotationAngleEnum</a></strong>. The word <strong>Page</strong> is superfluous.</p></td></tr><tr><td><p><strong>ScanOptionsInterfaceTypeEnum</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>The  properties that used this <strong>Windows</strong> enumeration have been removed. The <strong><a href="/fine-reader/engine/api-reference/enumerations/scansourceuitypeenum">ScanSourceUITypeEnum</a></strong> provides a similar set of constants.</p></td></tr></tbody></table>
