跳转到主要内容
本主题适用于 Windows 版 FRE。
本节旨在帮助您将基于 ABBYY ScanDifFinder SDK 的代码升级到 ABBYY FineReader Engine 中实现的全新 Document Comparison API。 ABBYY ScanDifFinder SDK:
  • 使用内置的识别机制处理文档
  • 将文件与其副本进行比较,并将结果保存为页面图像
带有 Document Comparison API 的 ABBYY FineReader Engine:
  • 使用 ABBYY FineReader Engine 提供的完整方法来准备要比较的文档
  • 要求使用经 ABBYY FineReader Engine 识别的文档或页面
  • 将文档或选定页面范围与其副本进行比较,并将结果导出为 XML 或 DOCX 格式
在此版本中,Document Comparison API 不支持: 此对象将在未来版本中实现。

示例

ABBYY ScanDifFinder SDK 和 Document Comparison API 采用截然不同的文件比较方式。以下示例展示了这种差异。 ABBYY ScanDifFinder SDK 代码示例
//指定要比较的文档路径,
//以及比较结果的输出路径
 
try
{
    string refFile = Path.GetFullPath( args[0] );
    string userFile = Path.GetFullPath( args[1] );
    ScanDifFinder difFinder = new ScanDifFinder();
    difFinder.TempDir = tempDir;
    ProcessFiles( difFinder, refFile, userFile );
}
catch (Exception)
{
}
finally
{
    if (Directory.Exists( tempDir ))
    Directory.Delete( tempDir, true );
}
Document Comparison API 示例
//对参考文档执行完整处理
FREngine.FRDocument referenceFRDocument = engine.CreateFRDocument();
referenceFRDocument.AddImageFile( "C:\\ReferenceDocument.pdf", null, null );
referenceFRDocument.Process( dpParams );
//对用户文档执行完整处理
FREngine.FRDocument userFRDocument = engine.CreateFRDocument();
userFRDocument.AddImageFile( "C:\\UserDocument.pdf", null, null );
userFRDocument.Process( dpParams );
//执行比较
FREngine.IComparator comparator = engineLoader.Engine.CreateComparator();
FREngine.IComparisonResult comparisonResult = 
    comparator.CompareDocuments( referenceFRDocument, userFRDocument, null, null );
FREngine.IChanges changes = comparisonResult.Changes;
//处理比较结果
foreach (FREngine.IChange change in changes)
{
FREngine.IChangeLocation userLocation = change.UserLocation;
FREngine.IChangePosition userChangeStartPosition = userLocation.StartPosition;
FREngine.IChangePosition userChangeEndPosition = userLocation.EndPosition;
}
//将结果导出到指定格式的文件
comparisonResult.Export( "C:\\ComparisonResult.xml", FREngine.ComparatorExportFormatEnum.CEF_Xml, null );

API 对比

下表介绍了 ABBYY FineReader Engine 中用于替代 ABBYY ScanDifFinder SDK 相应方法和属性的方法和属性。


请改用对象,作为文档或页面比较的主要对象。

进行文档比较时,请使用方法;进行页面比较时,请使用方法。

图像保存通过 ABBYY FineReader Engine 的方法完成,例如可使用方法,即对象的方法。

请使用方法,即对象中的方法。

请改用对象的属性。

Document Comparison API 的许可由 ABBYY FineReader Engine 处理 (请参阅 Licensing) 。

请使用方法指定 ABBYY FineReader Engine 临时文件夹的路径及其他附加参数。


请改用对象。要表示原始文档或页面与其副本的比较结果,请使用方法。要将结果导出到文件中,请使用方法。

请改用对象,以获取文档比较期间检测到的所有更改列表。

请使用属性,即对象的属性,来获取文档中的页面数。


Use the对象,用于表示原始文档与其副本之间的一项差异。方法可帮助您获取文档文本中的更改。

请改用这两个对象属性。它们返回有关已更改内容类型以及所做修改类型的信息。

请改用这一对象属性。

请改用这一对象属性。

请改用这一对象属性。

请改用这一对象属性。


请改用对象来获取单项更改的信息。

由于 Document Comparison API 采用了另一种逻辑结构,因此此属性已移除。

请改用这一对象属性。

由于 Document Comparison API 采用了另一种逻辑结构,因此这些属性已移除。


使用对象可获取更改位置的信息。

请改用这一对象属性。该属性返回指定页面上更改所在的区域。


请改用对象。

请改用属性 (已设置为 CRM_DoNotReuse) ,该属性属于对象。此属性用于指定如何使用源 PDF 文件的文本层和图像层。

请改用属性,该属性属于对象。

UseDoubleLanguageAgreementMode 目前尚未实现。

请改用方法,该方法属于对象。

此属性已被移除,因为 Document Comparison API 采用了不同的逻辑结构。

请改用属性,该属性属于对象。此属性用于指定在进行版面分析和识别之前,是否需要从图像中过滤掉彩色对象。

请改用属性,该属性属于对象。

请改用属性,该属性属于对象。

请改用属性,该属性属于对象。

请改用属性,该属性属于对象。

此属性已被修改,现在执行另一项功能 (请参阅对象的属性) 。

此属性已被移除,因为 Document Comparison API 采用了不同的逻辑结构。

图像保存通过 ABBYY FineReader Engine 方法执行,例如使用对象的方法。

使用方法,它属于对象。


请改用。这些枚举分别用于指定对文档内容所做修改的类型,以及发生更改的内容类型。


图像保存可通过 ABBYY FineReader Engine 的方法完成,例如使用方法,它属于对象。

另请参阅

文档比较对象