- Pré-processamento de imagens digitalizadas ou fotos
- Reconhecimento de pequenos fragmentos de texto
- Trabalho com os dados reconhecidos
Implementação do cenário
Os exemplos de código fornecidos neste tópico são específicos para Windows.
Etapa 1. Carregar o ABBYY FineReader Engine
Etapa 1. Carregar o ABBYY FineReader Engine
Para começar a trabalhar com o ABBYY FineReader Engine, você precisa criar o objeto Engine. O objeto Engine é o objeto de nível mais alto na hierarquia de objetos do ABBYY FineReader Engine e fornece diversas configurações globais, alguns métodos de processamento e métodos para criar os demais objetos.Para criar o objeto Engine, você pode usar a função InitializeEngine. Consulte também outras formas de carregar o objeto Engine (Win).
C#
C++ (COM)
Etapa 2. Carregando as configurações do cenário
Etapa 2. Carregando as configurações do cenário
As configurações mais adequadas podem ser selecionadas usando o método LoadPredefinedProfile do objeto Engine. Esse método recebe o nome do perfil como parâmetro de entrada. As configurações mais adequadas podem ser selecionadas usando o perfil predefinido chamado FieldLevelRecognition. Para saber mais sobre perfis, consulte Working with Profiles.Se quiser alterar as configurações usadas no processamento, use os objetos de parâmetro correspondentes. Consulte a seção Otimização adicional abaixo para mais informações.
C#
C++ (COM)
Etapa 3. Carregando e pré-processando as imagens
Etapa 3. Carregando e pré-processando as imagens
O ABBYY FineReader Engine fornece um objeto FRDocument para processar documentos com várias páginas. Para carregar as imagens de um documento e pré-processá-las, você deve criar o objeto FRDocument e adicionar as imagens a ele. Você pode fazer um dos seguintes procedimentos:
- Criar um objeto FRDocument usando o método CreateFRDocumentFromImage do objeto Engine. Esse método cria um objeto FRDocument e carrega imagens de um arquivo especificado.
- Criar um objeto FRDocument com a ajuda do método CreateFRDocument do objeto Engine e, em seguida, adicionar imagens ao objeto FRDocument criado a partir de um arquivo (use o método AddImageFile, AddImageFileWithPassword ou AddImageFileWithPasswordCallback do objeto FRDocument).
C#
C++ (COM)
Etapa 4. Configurar os campos a serem reconhecidos
Etapa 4. Configurar os campos a serem reconhecidos
Agora você precisa criar blocos que contenham seus campos e, para cada um deles, especificar o tipo de bloco e as características conhecidas dos dados contidos nele.Faça a análise de layout do documento usando o método Analyze ou adicione manualmente blocos que contenham os campos que você precisa reconhecer. Consulte Working with Layout and Blocks para obter instruções.Agora, para cada campo, você pode especificar seus próprios parâmetros de reconhecimento. Por exemplo, se um campo contiver texto, use a propriedade ITextBlock::RecognizerParams:
- defina o tipo de texto com a ajuda da propriedade TextTypes do objeto RecognizerParams. Por exemplo, se o campo contiver dígitos escritos no formato de CEP, use o tipo de texto TT_Index.
- defina o idioma usando o método SetPredefinedTextLanguage. Usar idiomas predefinidos especiais (somente Windows) pode ser útil se você souber o tipo de informação contida no campo. Por exemplo, se o campo contiver um endereço nos EUA, selecione o idioma predefinido English_US_Address. Isso garantirá um reconhecimento mais confiável do texto.
- defina as propriedades SaveCharacterRecognitionVariants e SaveWordRecognitionVariants do objeto RecognizerParams se você precisar usar variantes de reconhecimento para verificar melhor o resultado, como descrito abaixo na etapa 6. Observe que essa configuração não está disponível para textos manuscritos ou em letra de forma.
C#
C++ (COM)
Etapa 5. Reconhecimento
Etapa 5. Reconhecimento
Como o layout do documento já foi analisado e também modificado por você, não chame os métodos de análise novamente. Use o método Recognize, que executa o reconhecimento e a síntese de páginas para todas as páginas do documento. Neste cenário, você precisa extrair os dados dos campos, e não exportar o documento reconhecido, portanto não precisará da síntese do documento.
C#
C++ (COM)
Etapa 6. Trabalhando com os dados reconhecidos
Etapa 6. Trabalhando com os dados reconhecidos
Use o objeto Text para acessar o fragmento de texto reconhecido (você pode obter esse objeto para um bloco de texto por meio da propriedade ITextBlock::Text). Use a propriedade Paragraphs para obter a coleção de parágrafos do fragmento e o método IParagraphs::Item para acessar parágrafos individuais. A propriedade IParagraph::Text fornece acesso ao texto reconhecido de um parágrafo.Você pode usar IParagraph::Words para obter a coleção de palavras de um parágrafo. Use o método IWords::Item para acessar palavras individuais nessa coleção. A propriedade IWord::Text retorna a linha que contém a palavra reconhecida. Use o método GetRecognitionVariants do objeto Word ou o método GetWordRecognitionVariants do objeto Paragraph para obter as variantes de reconhecimento de uma palavra.Os atributos de caracteres individuais podem ser acessados por meio do método GetCharParams do objeto Paragraph. Esse método fornece acesso ao objeto CharParams, que contém os parâmetros do caractere reconhecido. As variantes de reconhecimento de um caractere podem ser acessadas por meio da propriedade ICharParams::CharacterRecognitionVariants.Para obter informações detalhadas sobre como trabalhar com texto, consulte Trabalhando com texto. Para obter informações sobre o uso do Engine em algoritmos de votação, consulte Usando a API de votação.Depois de concluir o trabalho com o objeto FRDocument, libere todos os recursos usados por esse objeto. Use o método IFRDocument::Close.
Etapa 7. Descarregando o ABBYY FineReader Engine
Etapa 7. Descarregando o ABBYY FineReader Engine
Depois de concluir o trabalho com o ABBYY FineReader Engine, você precisa descarregar o objeto Engine. Para isso, use a função exportada DeinitializeEngine.
C#
C++ (COM)
Recursos necessários
Otimização adicional
- Reconhecimento
- Trabalhando com idiomas
Uso de idiomas de reconhecimento integrados e personalizados. - Trabalhando com dicionários
Uso de dicionários para melhorar a qualidade do reconhecimento. - Reconhecendo palavras com espaços
Uso de dicionários para reconhecer palavras com espaços (como New York etc.). - Reconhecendo textos manuscritos
Uso de ICR (Reconhecimento Inteligente de Caracteres). - Reconhecendo marcas de seleção
Configuração do reconhecimento de marcas de seleção e de grupos de marcas de seleção. - Idiomas predefinidos especiais no ABBYY FineReader Engine - Windows
A lista de idiomas de reconhecimento que contêm unidades linguísticas especiais: endereços, data e hora, nomes de pessoas etc. Esses idiomas podem ser usados no reconhecimento de campos.
- Trabalhando com idiomas
- Trabalhando com os dados reconhecidos
- Trabalhando com texto
Trabalhando com o texto reconhecido, parágrafos, palavras e caracteres. - Usando a API de votação
Trabalhando com palavras e alternativas de reconhecimento de caracteres.
- Trabalhando com texto
