Skip to main content
ABBYY FineReader Engine 12 is not binary compatible with ABBYY FineReader Engine 11. Applications that were compiled using ABBYY FineReader Engine 11 should be recompiled using ABBYY FineReader Engine 12 headers and library. Some changes of the source code may be necessary because of the ABBYY FineReader Engine API improvements. This article contains a full list of changes, together with suggestions on rewriting your code to work under the new version. Main changes:
  • The obsolete DocumentAnalyzer and Exporter objects have been removed, together with the processing methods of the Engine object. Use the more efficient methods of the FRDocument and 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.
  • The API which provided access to the logical structure of the document (DocumentStructure, PageStructure and their subobjects) has been removed. Editing the properties and contents of the document via the deleted objects could have led to unpredictable results on export. If you need to verify or postprocess the recognition results, work with the data via the Layout subobject of each FRPage and call any of the methods which perform document synthesis when done. The logical structure of the document will then be recreated and used at the export stage, although it will no longer be available for editing via FineReader Engine API. The future versions of ABBYY FineReader Engine may provide read-only access to some of the document logical structure.
  • The Classification API has been completely replaced, using new improved algorithms and providing built-in cross-validation techniques.
  • The Engine object must now be loaded by InitializeEngine function. The GetEngineObject and GetEngineObjectEx functions for Engine loading are removed from ABBYY FineReader Engine.
    Property/Method/ConstantWhat has happened?Comment
    CreateDocumentAnalyzer CreateDocumentInfo CreateExporterRemovedThe methods are not necessary anymore as the objects they created have been removed.
    CreateExportFileWriterSignature changedThe deprecated PagesCount parameter has been removed.
    CreateImageDocumentsInMemory <Note> Windows Only </Note>RemovedThe image documents are always created in memory. You can use the SaveTo or SaveToFile methods whenever you need to save the image document on disk.
    CreateLayoutRemovedThe Layout object can no longer be used apart from the page it corresponds to.
    CreateMultipageImageWriterBehavior changedThis method now accepts extended image saving parameters for JPEG and TIFF formats.
    CreateMultipageImageWriterExRenamedThis method is now called CreateMultipageImageWriter. The old implementation of the CreateMultipageImageWriter method has been removed.
    ExportPageRemovedUse the IFRPage::Export method instead.
    ExportPagesExRemovedUse the IFRDocument::Export method instead.
    InjectTextLayerBehavior changedThis method now provides additional parameters of text layer injection, as well as the option to select the pages of the PDF file to be processed and a callback interface to handle warnings and errors.
    InjectTextLayerEx InjectTextLayerEx2RemovedThe new version of the InjectTextLayer method now provides all the options formerly available in these methods.
    OpenImageFileRemovedUse 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.
    PrepareImageFileRemovedUse 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.
    ProcessPageRemovedUse the IFRDocument::Process method instead.
    ProcessPagesExRemovedUse the IFRDocument::Process method instead.
    SynthesizePagesExRemovedUse the IFRDocument::Synthesize method instead.
    OpenMemoryImageFormat10RemovedThis method was provided only for compatibility with ABBYY FineReader Engine 10.
    OpenBitmap OpenBitmapBits<br />OpenDib<br />PrepareBitmap<br />PrepareBitmapBits<br />PrepareDibDeprecated in Linux and macOSThese properties are now deprecated and will be deleted in future versions.
    MethodWhat has happened?Comment
    Load LoadExRemovedDeprecated methods, use Engine.InitializeEngine instead.
    Object/EnumerationProperty/Method/ConstantWhat has happened?Comment
    BatchProcessorStartExRemovedThe Start method now uses the advanced image source interface, which has itself been renamed to IImageSource.
    IImageSourceEx<br />RenamedThis interface is now called IImageSource.
    IImageSource<br />Behavior changedThis interface now enables you to add image documents as well as image files to the queue.

    Object/Enumeration

    Property/Method/Constant

    What has happened?

    Comment

    DocumentAnalyzer


    Removed

    The object is obsolete. Its methods were replaced by more efficient methods of the FRDocument and FRPage objects, which do not require you to maintain the DocumentInfo object on all processing stages, or implement the IRecognizedPages interface.

    AddWordsToCacheDictionary

    AddWordToCacheDictionary

    CleanCacheDictionary

    Removed

    Use the IFRPage::AddWordsToCacheDictionary, IFRPage::AddWordToCacheDictionary, IFRPage::CleanCacheDictionary methods for working with cache dictionaries.

    AnalyzePage

    Removed

    Use the IFRPage::Analyze method instead.

    AnalyzePagesEx

    Removed

    Use the IFRDocument::Analyze method instead.

    AnalyzeRegion

    Removed

    Use the IFRPage::AnalyzeRegion method instead.

    AnalyzeTable

    Removed

    Use the IFRPage::AnalyzeTable method instead.

    AutoCleanRecognizerSession

    Removed

    Use the IEngine::AutoCleanRecognizerSession property, which works in exactly the same way.

    CleanRecognizerSession

    Removed

    Use the IEngine::CleanRecognizerSession method, which works in exactly the same way.

    CorrectGeometricalDistortions

    Removed

    Use the IImageDocument::RemoveGeometricalDistortions method instead.

    DetectOrientation

    Removed

    Use the IFRPage::DetectOrientation method instead.

    ExtractBarcodes

    Removed

    Use the IFRPage::ExtractBarcodes method instead.

    FindPageSplitPosition

    Removed

    Use the IFRPage::FindPageSplitPosition method instead.

    LearnCheckmarks

    Removed

    Use the IFRPage::LearnCheckmarks method instead.

    PreprocessAnalyzeRecognizePage

    Removed

    Use the IFRPage::PreprocessAnalyzeRecognize method instead.

    PreprocessAnalyzeRecognizePagesEx

    Removed

    Use the IFRDocument::Process method instead. It performs full processing of the document, including document synthesis.

    PreprocessPage

    Removed

    Use the IFRPage::Preprocess method instead.

    PreprocessPagesEx

    Removed

    Use the IFRDocument::Preprocess method instead.

    RecognizeBlocks

    Removed

    Use the IFRPage::RecognizeBlocks method instead.

    RecognizeImageAsPlainText

    Removed

    To recognize an image as plain text create the FRDocument from the image with the help of the IEngine::CreateFRDocumentFromImage method, use the IFRDocument::Process method to recognize the document, then access the IFRDocument::PlainText property.

    RecognizeImageDocumentAsPlainText

    Removed

    To recognize the page as plain text, use the IFRPage::PreprocessAnalyzeRecognize method, then access the IFRPage::PlainText property.

    RecognizePage

    Removed

    Use the IFRPage::Recognize method instead.

    RecognizePagesEx

    Removed

    Use the IFRDocument::Recognize method instead.

    Exporter


    Removed

    The object is obsolete. Its methods were replaced by more efficient methods of the FRDocument and FRPage objects, which do not require you to maintain the DocumentInfo object on all processing stages, or implement the IRecognizedPages interface.

    ExportPage

    Removed

    Use the IFRPage::Export method instead.

    ExportPagesEx

    Removed

    Use the IFRDocument::Export method instead.

    IDocumentAnalyzerEvents


    Removed

    This interface is no longer necessary because the object which reported events has been removed.

    The IFRDocumentEvents and IFRPageEvents interfaces provide similar information on progress and errors for the objects which replaced DocumentAnalyzer.

    IExporterEvents


    Removed

    This interface is no longer necessary because the object which reported events has been removed.

    The IFRDocumentEvents and IFRPageEvents interfaces provide similar information on progress and errors for the objects which replaced Exporter.

    IRecognizedPages


    Removed

    The methods which required an object of this type have been removed.

    FREngineModuleEnum

    FREM_DocumentAnalyzer

    Removed

    This constant is no longer in use.

    Object/Enumeration

    Property/Method/Constant

    What has happened?

    Comment

    ObjectsExtractionParams

    FlexiFormsDA

    Removed

    This property is obsolete since FineReader Engine 11. Use the EnableAggressiveTextExtraction property instead.

    FullTextIndexDA

    Removed

    This property is obsolete since FineReader Engine 11. Use the DetectTextOnPictures property of the PageAnalysisParams object instead.

    SynthesisParamsForPage

    InsertEmptyParagraphsForBigInterlines

    Removed

    Use the ITextExportParams::RetainLayout property to emulate the original text layout with the help of spaces.

    WritingStyleEnum

    WS_Default

    Removed

    Windows

    We recommend using WS_Auto to ensure the best recognition quality.

    If you need to select the writing style corresponding to the current operating system language, use WS_DetectByLocale.

    RTFExportParams

    KeepPages

    Removed

    Use the KeepPageBreaks property instead.

    ParagraphExtractionModeEnum

    PEM_SingleLineParagraphsWithSpaceFormatting

    Removed

    Use the ITextExportParams::RetainLayout property to emulate the original text appearance with the help of spaces while exporting to TXT format.

    PDFEncryptionInfo

    UseAES

    Removed

    Use the EncryptionAlgorithm property to select the encryption type.

    RecognizerParams

    DetectLanguage

    Removed

    Use the LanguageDetectionMode property to manage automatic detection of recognition languages.

    ErrorHighlightLevel

    Removed

    Use the new HighlightSuspiciousCharacters property, which dispenses with various levels of confidence and allows you a simple choice: either highlight uncertainly recognized characters or not. If you need a finer distinction, use the CharConfidence property of the selected CharacterRecognitionVariant, although matching recognition confidences for different characters against the same threshold may not always provide consistent results.

    BalancedMode

    FastMode

    Deprecated

    Use the Mode property to set the recognition mode with the RecognitionModeEnum constants (RM_Normal corresponds to BalancedMode = TRUE and RM_Fast corresponds to FastMode = TRUE).

    AvailableEngineModulesFlags

    AEM_FastMode

    AEM_BalancedMode

    Deprecated

    The modules which used these constants are deprecated.

    ErrorHighlightLevelEnum


    Removed

    The property which used this enumeration has been removed.

    PagePreprocessingParams

    GeometryCorrectionMode

    ResolutionCorrectionMode

    Renamed, type changed

    These properties are now called CorrectGeometry and CorrectResolution, and are of the ThreeStatePropertyValueEnum type. The defaults function as before.

    PDFExportFeatures

    WriteTaggedPDFMode

    WriteXmpMetadataMode

    Renamed, type changed

    These properties are now called WriteTaggedPDF, WriteXmpMetadata, and are of the ThreeStatePropertyValueEnum type. The defaults function as before.

    PDFMRCParams

    PicturesInBackground

    Renamed, type changed

    This property is now called ProcessPicturesAsBackground and is of the ThreeStatePropertyValueEnum type. By default, pictures are not treated as part of the background.

    GeometryCorrectionModeEnum

    ResolutionCorrectionModeEnum

    WriteTaggedPDFModeEnum

    WriteXmpMetadataModeEnum


    Removed

    The properties which used these enumerations now have another type.

    TextExportParams

    RetainLayout

    Deprecated

    This property is now deprecated and will be deleted in future versions. The same results will be achieved by setting the LayoutRetentionMode property to TXTLRM_ExactCopy.

    PageAnalysisParams

    ProhibitModelAnalysis

    Removed

    This property was already deprecated.

    EnableExhaustiveAnalysisMode

    Deprecated

    This property is now deprecated and will be deleted in future versions.

    BarcodeParams

    MinRatioToTextHeight

    EnableAdvancedExtractionMode

    IsCode39WithoutAsterisk

    Deprecated

    These properties are now deprecated and will be deleted in future versions.

    MultiProcessingParams

    ProcessPdfInOneThread

    Deprecated in Windows and Linux

    This property is now deprecated and will be deleted in future versions.

    Object/Enumeration

    Property/Method/Constant

    What has happened?

    Comment

    DocumentInfo


    Removed

    The methods which required an object of this type have been removed.

    DocumentContentInfo

    Removed

    The object containing information about the author, keywords, subject and title of the document, can be obtained via the DocumentContentInfo property of the FRDocument object.