Vai al contenuto principale
Questo argomento si applica a FRE per Windows .
ABBYY FineReader Engine 12 supporta il binding dinamico nelle interfacce COM:
  • Quasi tutte le interfacce di ABBYY FineReader Engine 12 derivano da IDispatch (fanno eccezione alcune interfacce callback implementate lato client).
  • I linguaggi di scripting (ad esempio, VBScript e JScript) supportano solo il binding dinamico. Pertanto, poiché queste interfacce ereditano da IDispatch, l’uso dell’API di ABBYY FineReader Engine da questi linguaggi richiede uno sforzo aggiuntivo minimo: solo l’oggetto Engine non può essere creato con il metodo COM CoCreateObject. Per caricare Engine, utilizzare uno dei metodi dell’interfaccia IEngineLoader. Questa interfaccia è implementata in due oggetti che forniscono, rispettivamente, il caricamento in-process e out-of-process di Engine: InprocLoader e OutprocLoader. È possibile creare uno di questi oggetti tramite i metodi forniti dal linguaggio di scripting e quindi chiamare il metodo InitializeEngine per caricare Engine.
  • Gli altri oggetti creati dai metodi dell’oggetto Engine denominati “Create…” o “Load…” possono essere creati e utilizzati direttamente dal linguaggio di scripting.
  • L’interfaccia IEngineLoader fornisce anche una proprietà NullObject che restituisce un riferimento a un oggetto nullo. Nei linguaggi di scripting, null non è di per sé un oggetto, ma alcuni metodi devono ricevere parametri null per ottenere il comportamento predefinito. (Ad esempio, il metodo IFRDocument::Analyze può ricevere null al posto degli oggetti parametro; in questo caso, l’analisi viene eseguita con le impostazioni predefinite del profilo caricato.)
La registrazione di FREngine.dll è necessaria quando si installa l’applicazione sul computer dell’utente finale. Per registrare FREngine.dll, utilizzare la seguente riga di comando:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
Ad esempio, è possibile creare l’oggetto Engine usando la funzione JavaScript ActiveXObject.
// crea l'oggetto EngineLoader
var EngineLoader = new ActiveXObject( "FREngine.OutprocLoader" );
...
// ottieni l'oggetto Engine
var Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", false );
// fornisci il tuo Customer Project ID, il percorso del file di licenza online e la password della licenza online
In VBScript, usa il metodo CreateObject:
' crea l'oggetto EngineLoader
Set EngineLoader = CreateObject( "FREngine.OutprocLoader" )
...
' ottieni l'oggetto Engine
Set Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", False )
In Perl, utilizzare il metodo CreateObject:
# crea l'oggetto EngineLoader
$EngineLoader = $WScript->CreateObject( 'FREngine.OutprocLoader' );
...
# ottieni l'oggetto Engine
$Engine = $EngineLoader->InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, '', '', 0 );

Esempi

Consulta il sample Hello in JavaScript, VBScript e Perl per un’applicazione semplice che illustra l’uso di ABBYY FineReader Engine nei linguaggi di scripting.

Vedi anche

IEngineLoader