Saltar al contenido principal
Este tema se aplica a FRE para Windows .
ABBYY FineReader Engine 12 admite el enlace dinámico en las interfaces COM:
  • Casi todas las interfaces de ABBYY FineReader Engine 12 derivan de IDispatch (las excepciones son algunas de las interfaces de callback implementadas del lado del cliente).
  • Los lenguajes de scripting (por ejemplo, VBScript y JScript) solo admiten el enlace dinámico. Por lo tanto, dado que estas interfaces heredan de IDispatch, usar la API de ABBYY FineReader Engine desde estos lenguajes requiere muy poco esfuerzo adicional: solo el objeto Engine no puede crearse con el método COM CoCreateObject. Para cargar Engine, use uno de los métodos de la interfaz IEngineLoader. Esta interfaz está implementada en dos objetos que proporcionan, respectivamente, la carga en proceso y fuera de proceso de Engine: InprocLoader y OutprocLoader. Puede crear cualquiera de estos objetos mediante los métodos que proporciona su lenguaje de scripting y, a continuación, llamar al método InitializeEngine para cargar Engine.
  • Los demás objetos creados por los métodos del objeto Engine llamados “Create…” o “Load…” ahora pueden crearse y usarse directamente desde el lenguaje de scripting.
  • La interfaz IEngineLoader también proporciona una propiedad NullObject que devuelve una referencia a un objeto nulo. En los lenguajes de scripting, null en sí no es un objeto, pero algunos métodos necesitan recibir parámetros null para aplicar el comportamiento predeterminado. (Por ejemplo, el método IFRDocument::Analyze puede recibir null en lugar de objetos de parámetros, en cuyo caso el análisis se realiza con la configuración predeterminada del perfil cargado).
Es necesario registrar FREngine.dll al instalar la aplicación en el equipo del usuario final. Para registrar FREngine.dll, use la siguiente línea de comandos:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
Por ejemplo, puede crear el objeto Engine con la función ActiveXObject de JavaScript.
// crear el objeto EngineLoader
var EngineLoader = new ActiveXObject( "FREngine.OutprocLoader" );
...
// obtener el objeto Engine
var Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", false );
// proporcione su Customer Project ID, la ruta al archivo de licencia en línea y la contraseña de la licencia en línea
En VBScript, use el método CreateObject:
' crear el objeto EngineLoader
Set EngineLoader = CreateObject( "FREngine.OutprocLoader" )
...
' obtener el objeto Engine
Set Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", False )
En Perl, utilice el método CreateObject:
# crear el objeto EngineLoader
$EngineLoader = $WScript->CreateObject( 'FREngine.OutprocLoader' );
...
# obtener el objeto Engine
$Engine = $EngineLoader->InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, '', '', 0 );

Ejemplos

Consulte el ejemplo Hello en JavaScript, VBScript y Perl para ver una aplicación sencilla que ilustra el uso de ABBYY FineReader Engine en lenguajes de scripting.

Consulte también

IEngineLoader