- Abertura de imagem
- Reconhecimento
- Verificação
- Exportação
Etapa 1. Adicionando os Visual Components ao formulário do seu aplicativo
Etapa 1. Adicionando os Visual Components ao formulário do seu aplicativo
O Visual Studio permite inserir controles ActiveX na sua caixa de diálogo. Você pode adicionar os Visual Components à janela Toolbox (a Toolbox está disponível no menu View) e trabalhar com eles:
- No menu Tools, clique em Choose Toolbox Items (ou Add/Remove Toolbox Items).
- Na caixa de diálogo que é aberta, clique na guia COM Components e selecione os componentes ABBYY DocumentViewer, ABBYY ImageViewer, ABBYY ZoomViewer, ABBYY TextEditor e ABBYY TextValidator.
- Clique em OK. Os ícones dos itens selecionados ficarão disponíveis na Toolbox. Você pode arrastar e soltar o ícone de cada Visual Component em uma superfície de design. Essa ação também adiciona o código básico para criar uma instância do Visual Component no arquivo de projeto ativo.
- Depois de adicionar o Visual Component a um formulário, você pode especificar as propriedades disponíveis dele no Visual Studio. Por exemplo, a propriedade SettingsPath de cada componente deve ser especificada em tempo de design.
O designer do Visual Studio não oferece suporte a controles ActiveX de 64 bits. Por isso, você não pode adicionar Visual Components de 64 bits a um aplicativo Windows Forms. Esse é um comportamento conhecido; problemas semelhantes são descritos para controles Microsoft ActiveX, por exemplo, em http://support.microsoft.com/kb/980533/en-us. Como solução alternativa para esse problema, o FineReader Engine instala Visual Components de 32 bits e 64 bits se você selecionar a instalação dos Visual Components para desenvolvedor em um sistema de 64 bits. Nesse caso, no designer do Visual Studio, você pode trabalhar com a versão de 32 bits dos componentes. Um aplicativo de 64 bits que usa Visual Components não precisa ter os Visual Components de 32 bits instalados.
Etapa 2. Sincronização de Componentes Visuais
Etapa 2. Sincronização de Componentes Visuais
O componente Component Synchronizer permite sincronizar os Visual Components no aplicativo. Isso significa que todas as operações de visualização e edição serão processadas de forma síncrona em todos os componentes conectados. Para sincronizar os Visual Components:
- Ao carregar o formulário, crie um novo objeto ComponentSynchronizer.
- Use as propriedades DocumentViewer, ImageViewer, ZoomViewer, TextEditor e TextValidator do objeto ComponentSynchronizer para conectar os componentes ao sincronizador.
C#
Etapa 3. Carregamento do ABBYY FineReader Engine
Etapa 3. Carregamento do ABBYY FineReader Engine
Para começar a trabalhar com o ABBYY FineReader Engine, é necessário criar o objeto Engine. Para criar o objeto Engine, você pode usar a função exportada InitializeEngine. Veja também outras formas de carregar o objeto Engine. Você pode carregar o objeto Engine durante o carregamento da imagem ou na inicialização do formulário.
C#
Etapa 4. Abertura de imagem
Etapa 4. Abertura de imagem
Para exibir a imagem nos Visual Components, você deve abri-la. Você pode implementar o procedimento a seguir para abrir imagens:
- Para carregar imagens de um único documento, crie o objeto FRDocument e adicione imagens a ele. Você pode fazer uma das seguintes opções:
- Criar o objeto FRDocument usando o método CreateFRDocumentFromImage do objeto Engine. Esse método cria o objeto FRDocument e carrega imagens do arquivo especificado.
- Criar o objeto FRDocument com a ajuda do método CreateFRDocument do objeto Engine e, em seguida, adicionar imagens do arquivo ao objeto FRDocument criado (use o método AddImageFile, AddImageFileWithPassword ou AddImageFileWithPasswordCallback do objeto FRDocument).
- Anexe o documento ao Component Synchronizer usando a propriedade Document do objeto ComponentSynchronizer.
C#
Etapa 5. Reconhecimento de documentos
Etapa 5. Reconhecimento de documentos
O reconhecimento de uma imagem no Visual Components pode ser iniciado tanto com os comandos disponíveis nos componentes quanto com a API do FineReader Engine (consulte, por exemplo, o método Process do objeto FRDocument).Você pode implementar o seguinte procedimento de reconhecimento:
- Reconheça o documento usando os métodos do objeto FRDocument.
- O documento foi alterado fora da interface gráfica do Visual Components, portanto é necessário informar essas alterações ao Visual Components. Use o método Update do objeto FRPage para cada página do documento.
C#
Etapa 6. Verificação dos resultados do reconhecimento
Etapa 6. Verificação dos resultados do reconhecimento
Os dados reconhecidos podem ser verificados usando o componente Text Validator. Ele fornece uma interface de usuário que permite verificar se um caractere foi reconhecido corretamente e corrigi-lo, se necessário.Você pode implementar o seguinte procedimento de verificação:
- Adicione o componente Text Validator ao formulário atual ou crie um novo formulário para esse componente.
- Anexe o componente Text Validator ao Component Synchronizer. Use a propriedade TextValidator do objeto ComponentSynchronizer.
- Inicie o processo de verificação usando o método Spell do objeto TextValidator.
C#
Etapa 7. Exportação dos resultados
Etapa 7. Exportação dos resultados
O documento reconhecido pode ser salvo tanto com os comandos disponíveis no Document Viewer quanto com a API do FineReader Engine.Por exemplo, use o método Export do objeto FRDocument, passando a constante FileExportFormatEnum como um dos parâmetros. Depois de concluir o trabalho com o objeto FRDocument, libere todos os recursos usados por ele. Use o método IFRDocument::Close. O procedimento pode tratar o evento “on click” de um botão que chama a exportação.
C#
Etapa 8. Descarregamento do ABBYY FineReader Engine
Etapa 8. Descarregamento do ABBYY FineReader Engine
Após concluir seu trabalho com o ABBYY FineReader Engine, você precisa descarregar o objeto Engine. Para isso, use a função exportada DeinitializeEngine.O procedimento pode tratar o evento “on click” de um botão que fecha a janela do aplicativo.
Recomendamos que você libere o Component Synchronizer antes de desinicializar o Engine.
