Pular para o conteúdo principal
Este tópico se aplica ao FRE para Windows .
O ABBYY FineReader Engine 12 oferece suporte à vinculação dinâmica em interfaces COM:
  • Quase todas as interfaces do ABBYY FineReader Engine 12 derivam de IDispatch (as exceções são algumas interfaces de callback implementadas no lado do cliente).
  • Linguagens de script (por exemplo, VBScript e JScript) oferecem suporte apenas à vinculação dinâmica. Portanto, como essas interfaces herdam de IDispatch, o uso da API do ABBYY FineReader Engine nessas linguagens exige um esforço adicional mínimo: apenas o objeto Engine não pode ser criado usando o método COM CoCreateObject. Para carregar o Engine, use um dos métodos da interface IEngineLoader. Essa interface é implementada em dois objetos que fornecem, respectivamente, o carregamento in-process e out-of-process do Engine: InprocLoader e OutprocLoader. Você pode criar qualquer um desses objetos usando os métodos fornecidos pela sua linguagem de script e, em seguida, chamar o método InitializeEngine para carregar o Engine.
  • Os outros objetos criados pelos métodos do objeto Engine chamados “Create…” ou “Load…” agora podem ser criados e usados diretamente na linguagem de script.
  • A interface IEngineLoader também fornece uma propriedade NullObject, que retorna uma referência a um objeto nulo. Em linguagens de script, null em si não é um objeto, mas alguns métodos precisam receber parâmetros null para adotar o comportamento padrão. (Por exemplo, o método IFRDocument::Analyze pode receber null em vez de objetos de parâmetros; nesse caso, a análise é executada com as configurações padrão do perfil carregado.)
É necessário registrar a FREngine.dll ao instalar o aplicativo no computador do usuário final. Para registrar a FREngine.dll, use a seguinte linha de comando:
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
Por exemplo, é possível criar o objeto Engine usando a função ActiveXObject do JavaScript.
// criar o objeto EngineLoader
var EngineLoader = new ActiveXObject( "FREngine.OutprocLoader" );
...
// obter o objeto Engine
var Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", false );
// forneça seu ID do projeto do cliente, o caminho para o arquivo de Licença Online e a senha da Licença Online
No VBScript, use o método CreateObject:
' criar o objeto EngineLoader
Set EngineLoader = CreateObject( "FREngine.OutprocLoader" )
...
' obter o objeto Engine
Set Engine = EngineLoader.InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, "", "", False )
No Perl, use o método CreateObject:
# criar o objeto EngineLoader
$EngineLoader = $WScript->CreateObject( 'FREngine.OutprocLoader' );
...
# obter o objeto Engine
$Engine = $EngineLoader->InitializeEngine( CustomerProjectId, LicensePath, LicensePassword, '', '', 0 );

Exemplos

Consulte o exemplo Hello em JavaScript, VBScript e Perl para ver uma aplicação simples que ilustra o uso do ABBYY FineReader Engine em linguagens de script.

Consulte também

IEngineLoader