メインコンテンツへスキップ
このトピックは 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 のインプロセス読み込みとアウトプロセス読み込みをそれぞれ提供する 2 つのオブジェクト、InprocLoaderOutprocLoader に実装されています。これらのオブジェクトはいずれも、使用しているスクリプト言語で用意されているメソッドで作成でき、その後 InitializeEngine メソッドを呼び出して Engine を読み込めます。
  • Engine オブジェクトの “Create…” または “Load…” という名前のメソッドで作成される他のオブジェクトは、スクリプト言語から直接作成して使用できます。
  • IEngineLoader インターフェイスには、null オブジェクトへの参照を返す NullObject プロパティもあります。スクリプト言語では null 自体はオブジェクトではありませんが、既定の動作を行うために、一部のメソッドでは null パラメーターを受け取る必要があります。 (たとえば、IFRDocument::Analyze メソッドでは、parameters オブジェクトの代わりに 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 );

サンプル

スクリプト言語で ABBYY FineReader Engine を使用する簡単なアプリケーションについては、JavaScript、VBScript、Perl 向けの Hello サンプルを参照してください。

関連項目

IEngineLoader