跳转到主要内容
本主题适用于 Windows 版 FRE。
ABBYY FineReader Engine 12 支持在 COM 接口中进行动态绑定:
  • 几乎所有 ABBYY FineReader Engine 12 接口都派生自 IDispatch (某些在客户端实现的回调接口除外) 。
  • 脚本语言 (例如 VBScript 和 JScript) 仅支持动态绑定。因此,由于这些接口继承自 IDispatch,在这些语言中使用 ABBYY FineReader Engine API 只需极少的额外工作:只有 Engine 对象无法通过 COM 方法 CoCreateObject 创建。要加载 Engine,请使用 IEngineLoader 接口提供的方法之一。该接口由两个对象实现,分别支持以进程内和进程外方式加载 Engine:InprocLoaderOutprocLoader。您可以使用脚本语言提供的方法创建其中任一对象,然后调用 InitializeEngine 方法加载 Engine。
  • 现在,由 Engine 对象中名为 “Create…” 或 “Load…” 的方法创建的其他对象,也可以直接在脚本语言中创建和使用。
  • IEngineLoader 接口还提供 NullObject 属性,该属性返回对空对象的引用。在脚本语言中,null 本身不是对象,但某些方法需要接收 null 参数才能使用默认行为。 (例如,IFRDocument::Analyze 方法可以接收 null 来代替参数对象,此时将使用已加载配置文件的默认设置执行分析。)
在最终用户的计算机上安装应用程序时,必须注册 FREngine.dll。要注册 FREngine.dll,请使用以下命令行:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
例如,您可以使用 JavaScript 的 ActiveXObject 函数来创建 Engine 对象。
// 创建 EngineLoader 对象
var EngineLoader = new ActiveXObject( "FREngine.OutprocLoader" );
...
// 获取 Engine 对象
var Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", false );
// 请提供您的 Customer Project ID、在线许可证文件的路径以及在线许可证密码
在 VBScript 中,请使用 CreateObject 方法:
' 创建 EngineLoader 对
Set EngineLoader = CreateObject( "FREngine.OutprocLoader" )
...
' 获取 Engine 对
Set Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", False )
在 Perl 中,使用 CreateObject 方法:
# 创建 EngineLoader 对象
$EngineLoader = $WScript->CreateObject( 'FREngine.OutprocLoader' );
...
# 获取 Engine 对象
$Engine = $EngineLoader->InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, '', '', 0 );

示例

有关 JavaScript、VBScript 和 Perl 的简单应用程序示例 (演示如何在脚本语言中使用 ABBYY FineReader Engine) ,请参见 Hello 示例。

另请参阅

IEngineLoader