跳转到主要内容
ABBYY FineReader Engine 12 与 ABBYY FineReader Engine 11 在二进制层面不兼容。使用 ABBYY FineReader Engine 11 编译的应用程序应使用 ABBYY FineReader Engine 12 的头文件和库重新编译。由于 ABBYY FineReader Engine API 的改进,可能还需要对源代码进行一些修改。 本文列出了所有变更,并就如何重写代码以使其适配新版本提供建议。 主要变更:
  • 已弃用的 DocumentAnalyzer 和 Exporter 对象,以及 Engine 对象中的处理方法现已移除。请改用 FRDocumentFRPage 对象中效率更高的方法,这些方法会负责处理完整文档处理所需的所有信息。您不再需要在各个处理阶段维护 DocumentInfo 对象、跟踪所有图像文档及其对应的版面信息,或实现 IRecognizedPages 接口。
  • 用于访问文档逻辑结构 (DocumentStructure、PageStructure 及其子对象) 的 API 已被移除。通过这些已删除的对象编辑文档的属性和内容,可能会在导出时导致不可预知的结果。如果您需要验证或后处理识别结果,请通过每个 FRPageLayout 子对象处理数据,并在完成后调用任意文档合成方法。这样,文档的逻辑结构会在导出阶段重新创建并使用,但将不再能通过 FineReader Engine API 进行编辑。ABBYY FineReader Engine 的未来版本可能会为文档逻辑结构的某些部分提供只读访问权限。
  • Classification API 已被完全替换,采用了全新且改进的算法,并提供内置的交叉验证技术。
  • 引擎 对象现在必须通过 InitializeEngine 函数加载。用于加载引擎的 GetEngineObject 和 GetEngineObjectEx 函数已从 ABBYY FineReader Engine 中移除。
    属性/方法/常量发生了什么变化备注
    CreateDocumentAnalyzer CreateDocumentInfo CreateExporter已移除由于这些方法创建的对象已被移除,这些方法现已不再需要。
    CreateExportFileWriter方法签名已更改已移除已弃用的 PagesCount 参数。
    CreateImageDocumentsInMemory <Note> 仅适用于 Windows </Note>已移除图像文档始终是在内存中创建的。需要将图像文档保存到磁盘时,可使用 SaveToSaveToFile 方法。
    CreateLayout已移除Layout 对象不能再脱离其对应的页面而单独使用。
    CreateMultipageImageWriter行为已变更此方法现已支持 JPEG 和 TIFF 格式的扩展图像保存参数。
    CreateMultipageImageWriterEx已重命名此方法现更名为 CreateMultipageImageWriter。原 CreateMultipageImageWriter 方法的实现已被移除。
    ExportPage已移除请改为使用 IFRPage::Export 方法。
    ExportPagesEx已移除请改为使用 IFRDocument::Export 方法。
    InjectTextLayer行为已变更此方法现提供文本层注入的附加参数,还可选择要处理的 PDF 文件页面,并提供用于处理警告和错误的回调接口。
    InjectTextLayerEx InjectTextLayerEx2已移除InjectTextLayer 方法的新版本现已提供此前这些方法中的所有选项。
    OpenImageFile已移除使用 IFRDocument::AddImageFile 方法打开图像文件,并将其添加到文档中进行处理。可通过相应的 FRPage 访问 ImageDocument 对象。
    PrepareImageFile已移除使用 IFRDocument::AddImageFile 方法打开图像文件,并将其添加到文档中进行处理。随后可通过相应的 FRPage 访问 ImageDocument 对象,之后还可将其保存到磁盘。
    ProcessPage已移除请改用 IFRDocument::Process 方法。
    ProcessPagesEx已移除请改用 IFRDocument::Process 方法。
    SynthesizePagesEx已移除请改用 IFRDocument::Synthesize 方法。
    OpenMemoryImageFormat10已移除提供此方法仅是为了兼容 ABBYY FineReader Engine 10。
    OpenBitmap OpenBitmapBits<br />OpenDib<br />PrepareBitmap<br />PrepareBitmapBits<br />PrepareDib已在 Linux 和 macOS 中弃用这些属性现已弃用,并将在后续版本中删除。
    方法发生了什么变化备注
    Load LoadEx已移除这些方法已弃用,请改用 Engine.InitializeEngine。

    对象/枚举

    属性/方法/常量

    发生了什么变化

    备注

    ImageDocument

    SuppressColorObjects

    已移除

    请改用 RemoveColorObjectsEx 方法,该方法支持一次删除多种指定色相的对象,并返回已删除对象的图像。

    RemoveGarbage

    行为已更改

    此方法仍会在黑白平面上查找杂点,但会从图像的所有彩色平面中将其移除。

    RemoveGarbageEx

    已重命名

    此方法现已更名为 RemoveGarbage。原 RemoveGarbage 方法的旧实现已被移除。

    PrepareImageMode

    ImageCompression

    已重命名,类型已更改

    此属性现已更名为 CompressImage,类型为 ThreeStatePropertyValueEnum。默认行为与之前相同。

    KeepOriginalCoordinatesInfo

    已弃用

    此属性现已弃用,并将在未来版本中删除。

    ImageCompressionEnum


    已移除

    原先使用此枚举的属性现在已改为其他类型。

    Image

    EstimateBitmapSize

    GetBitmap

    在 Linux 和 macOS 中已弃用

    这些方法现已弃用,并将在未来版本中删除。

    TrainingImage

    SetBitmapBits

    在 Linux 和 macOS 中已弃用

    此方法现已弃用,并将在未来版本中删除。

    对象/枚举

    属性/方法/常量

    发生了什么变化

    备注

    Block

    BackgroundColor

    行为已更改

    此属性现为只读。

    BlockLayerType

    行为已更改

    此属性现为只读。对于 RasterPictureBlockVectorPictureBlock,可使用 SetBlockLayerType 方法更改其层类型。

    BlockLayerTypeEnum

    BLT_Unknown

    已移除

    此常量已不再使用。

    已移除

    这些属性已不再受支持:系统无法再检测跨两页的段落分割情况。

    已移除

    此属性用于返回与图片对应的 PageElement 的 ID。由于 PageElement 对象已随其余文档结构 API 一并移除,该属性已不再适用。

    行为已变更

    此方法现在要求按照 “UserDefinedBookmark:<my_user_bookmark>” 格式指定用户书签名称。

    已移除

    段落属性现在只能通过对象进行访问。

    行为已变更

    这些属性现在为只读,段落样式的所有属性均不可编辑。

    已移除

    段落样式的所有属性均不可编辑,也不可从其他对象复制。

    已移除

    段落样式可通过对象进行访问。

    已重命名

    此方法现已更名为 AddNewAddNew 方法的旧实现已被移除。

    行为已变更

    此方法现在支持在创建时设置制表前导符的所有属性。

    已移除

    制表位的所有属性应在创建对象时通过方法 (属于对象) 指定,且不可在之后更改或从其他对象复制。

    行为已变更

    这些属性现在为只读,应在创建对象时通过method of the对象,且不能被更改或从其他对象复制。

    已移除

    此属性在上一版本中已被弃用。

    已移除

    由于文档逻辑结构 API 已被移除,此属性也随之删除——现在无法再通过逻辑结构中的角色访问文档的各个部分。


    已移除

    使用此枚举的属性已被移除。

    已移除

    此属性已被弃用并计划移除,由以下两个属性替代:,用于指定从左到右阅读时单词中的第一个字符;以及,用于指定在该语言所使用的阅读方向下逻辑上的第一个字符。

    CFL_Picture

    已移除

    使用此常量的属性已被移除。

    已弃用

    这些属性现已弃用,将在未来版本中删除。

    行为已变更

    此属性现在要求以 “UserDefinedBookmark:<my_user_bookmark>” 格式指定用户书签名称,用于创建超链接。


    已重命名

    此接口现已更名为。该接口的旧版本已被移除。

    参数已更改

    此方法新增了一个参数,用于指定文档中与该警告相关的页面索引。


    已移除

    这些对象用于表示文档的逻辑结构及其各个组成部分。由于不当使用可能影响导出文档的外观,现已不再支持编辑文档结构。文本校验或其他修改操作均可通过文档 API (及子对象) 来完成。ABBYY FineReader Engine 的后续版本可能会提供对部分文档逻辑结构的只读访问。


    已移除

    这些枚举由已不再可用的文档结构对象使用。

    行为已更改

    此方法现在提供用于空白页检测的扩展参数。

    已重命名

    此方法现已重命名为。原 IsEmpty 方法的旧实现已被移除。

    已移除

    现在可通过对象的方法执行页面分类。该方法需要传入一个作为输入参数,该对象可通过方法创建。

    已弃用

    此属性现已弃用,将在未来版本中移除。请使用方法检查文件是否包含文本内容。

    对象/枚举属性/方法/常量发生了什么变化备注
    BatchProcessorStartEx已移除Start 方法现在使用高级图像源接口,该接口现已更名为 IImageSource
    IImageSourceEx<br />已重命名该接口现名为 IImageSource
    IImageSource<br />行为已更改该接口现在支持将图像文档和图像文件添加到队列中。


    已移除

    该对象已过时,其方法已被对象中更高效的方法所取代。使用这些方法无需在所有处理阶段维护 DocumentInfo 对象,也无需实现 IRecognizedPages 接口。

    已移除

    请使用方法操作缓存字典。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请使用属性,功能完全相同。

    已移除

    请使用方法,功能完全相同。

    已移除

    请改用 IImageDocument::RemoveGeometricalDistortions 方法。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请改用方法替代。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请改用方法,该方法可对文档执行完整处理,包括文档合成。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    请改用方法。

    已移除

    若要将图像识别为纯文本,请借助方法从图像创建,然后使用方法识别文档,再访问属性。

    已移除

    若要将页面识别为纯文本,请使用方法,然后访问属性。

    已移除

    请改用方法。

    已移除

    请改用方法。


    已移除

    该对象已过时,其方法已被对象中更高效的方法所取代。使用这些方法无需在所有处理阶段维护 DocumentInfo 对象,也无需实现 IRecognizedPages 接口。

    已移除

    请改用方法。

    已移除

    请改用方法。


    已移除

    此接口已不再需要,因为负责报告事件的对象已被移除。

    接口可为替代 DocumentAnalyzer 的对象提供类似的进度和错误信息。


    已移除

    此接口已不再需要,因为负责报告事件的对象已被移除。

    接口可为替代 Exporter 的对象提供类似的进度和错误信息。


    已移除

    需要此类型对象的方法已被移除。

    FREM_DocumentAnalyzer

    已移除

    此常量已不再使用。

    已移除

    此属性自 FineReader Engine 11 起已废弃。请改用属性。

    已移除

    此属性自 FineReader Engine 11 起已废弃。请改用对象的属性。

    已移除

    请使用属性,借助空格模拟原始文本版面。

    WS_Default

    已移除

    Windows

    建议使用 WS_Auto 以获得最佳识别质量。

    如需选择与当前操作系统语言对应的书写风格,请使用 WS_DetectByLocale。

    已移除

    请改用 KeepPageBreaks 属性。

    PEM_SingleLineParagraphsWithSpaceFormatting

    已移除

    请使用属性,在导出为 TXT 格式时借助空格模拟原始文本外观。

    已移除

    请使用属性选择加密类型。

    已移除

    请使用 LanguageDetectionMode 属性管理识别语言的自动检测。

    已移除

    请使用新的属性,该属性无需区分置信度级别,只需做出简单选择:是否高亮显示识别不确定的字符。如需更精细的区分,请使用所选属性。 ,但将不同字符的识别置信度与同一阈值进行比较,结果可能并不总是一致。

    Deprecated

    Use theproperty to set the recognition mode with theconstants (RM_Normal corresponds to BalancedMode = TRUE and RM_Fast corresponds to FastMode = TRUE).

    AEM_FastMode

    AEM_BalancedMode

    Deprecated

    The modules which used these constants are deprecated.


    Removed

    The property which used this enumeration has been removed.

    Renamed, type changed

    These properties are now calledand CorrectResolution, and are of thetype. The defaults function as before.

    Renamed, type changed

    These properties are now called,, and are of thetype. The defaults function as before.

    Renamed, type changed

    This property is now calledand is of thetype. By default, pictures are not treated as part of the background.


    Removed

    The properties which used these enumerations now have another type.

    Deprecated

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

    已移除

    此属性已被弃用。

    已弃用

    此属性现已弃用,将在后续版本中删除。

    已弃用

    这些属性现已弃用,将在后续版本中删除。

    在 Windows 和 Linux 上已弃用

    此属性现已弃用,将在后续版本中删除。

    对象/枚举属性/方法/常量发生了什么变化备注
    ClassificationEtalon ClassificationParams ClassificationClass ClassificationClasses ClassificationTrainer ClassificationTrainerError ClassificationTrainerErrors ClassificationTrainerErrorTypeEnum ClassificationModeEnum<br />已移除旧版 Classification API 已移除。现在,分类模型训练通过 Trainer 对象执行,相关设置由 TrainingParamsValidationParams 指定,输入数据则通过 TrainingData 提供。可通过 Model 对象对文档或页面进行分类。无论是训练还是分类,都需要先将文档或页面转换为 ClassificationObject,这可以通过 ClassificationEngine 对象的方法来实现。另请参见 与分类相关的对象分类 场景说明。

    对象/枚举

    属性/方法/常量

    发生了什么变化

    备注

    DocumentInfo


    已移除

    所有需要此类型对象的方法均已移除。

    DocumentContentInfo

    已移除

    包含文档作者、关键词、主题和标题信息的对象,可通过 FRDocument 对象的 DocumentContentInfo 属性获取。