Chinese Simplified (简体中文)

借助脚本语言中的 COM 接口进行处理

ABBYY FineReader Engine 12 支持动态绑定 COM 接口:

  • 几乎所有 ABBYY FineReader Engine 12 接口源自 IDispatch (一些在客户端实施的回调接口除外)。
  • 脚本语言(例如 VBScript 和 JScript)只支持动态绑定。因此,由于从 IDispatch 继承了此类接口,从这些语言使用 ABBYY FineReader Engine API 非常简单: Engine 对象无法使用 COM m方法 CoCreateObject 进行创建。加载 Engine 可使用 IEngineLoader 接口的一项方法。该接口用两个对象实施,分别提供进程内和进程外加载 EngineInprocLoaderOutprocLoader。您可以通过脚本语言中提供的方法创建这两个对象之一,然后调用 InitializeEngine 方法加载 Engine
  • 通过 Engine 对象的方法创建的名为 "Create..." 或 "Load..." 的其它对象现在可以直接从脚本语言进行创建和使用。
  • IEngineLoader 接口还提供一个 NullObject 属性,可返回对 null 对象的引用。在脚本语言中 null 本身不是对象,但是一些方法需要为默认行为接收 null 参数。(例如,IFRDocument::Analyze 方法可以接收 null 而不是参数对象,在此情况下分析使用已加载配置文件的默认设置执行)。

重要事项!在终端用户的计算机上安装应用程序时需注册 FREngine.dll。注册 FREngine.dll 使用以下命令行:

regsvr32 /s /n /i:"<Inc 文件夹路径>" "<FREngine.dll 的路径>"
    

例如,您可以使用 JavaScript ActiveXObject 函数创建 Engine 对象。

// 创建 EngineLoader 对象
var EngineLoader = new ActiveXObject( "FREngine.OutprocLoader" );
...
// 获取 Engine 对象
var Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", false );
// 提供您的客户项目 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 的 Hello 示例了解在脚本语言中使用 ABBYY FineReader Engine 的简单应用。

另请参阅

IEngineLoader

24.03.2023 8:51:52

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.