跳轉到主要內容
本主題適用於 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 的 Hello 範例。這是一個簡單的應用程式,用來示範如何在指令碼語言中使用 ABBYY FineReader Engine。

另請參閱

IEngineLoader