Pular para o conteúdo principal

Recurso de Reconhecimento de Texto (OCR) - Guia do Usuário

Visão geral

O elemento de Reconhecimento de Texto permite que usuários de dispositivos móveis capturem texto de imagens usando a câmera do dispositivo, por meio da tecnologia de OCR (Optical Character Recognition).

Esta ferramenta usa um modelo de inteligência artificial embarcado treinado especificamente para ler e extrair texto de fotos de maneira otimizada e aplicá-lo a uma ou mais questões do formulário.

Principais benefícios

  • Economize tempo: capture rapidamente informações de documentos, etiquetas ou placas.
  • Reduza erros: minimize erros de digitação manual.
  • Processamento flexível: processe, transforme e formate o texto capturado automaticamente.
  • Múltiplos destinos: preencha múltiplas questões do formulário a partir de uma única foto.
  • Funciona offline: não é preciso conexão com a Internet para funcionar.
  • Soberania de dados: as imagens e dados são processados localmente no dispositivo, ou seja, as imagens e dados NÃO são enviados para a internet para processamento remoto.

Como adicionar um elemento de Reconhecimento de Texto (OCR) ao seu formulário

Adicionando o elemento

  1. Localize e abra seu formulário na lista de formulários.
  2. No editor de formulários, clique em Adicionar elemento.
  3. Selecione Reconhecimento de Texto na seção "Outros".
  4. Posicione o elemento antes da(s) questão(ões) de destino.
Como incluir um elemento Reconhecimento de Texto (OCR) no formulário

Como incluir um elemento Reconhecimento de Texto (OCR) no formulário

Configurando as questões de destino

Elementos de Reconhecimento de Texto podem preencher uma ou mais questões em seu formulário:

  1. Clique no elemento de Reconhecimento de Texto.
  2. Selecione qual questão deve receber o texto capturado, e clique em Adicionar questão de destino.
  3. Para configurar etapas de processamento (localizar um texto específico, por exemplo), clique na questão adicionada e siga as instruções na seção Etapas de processamento abaixo.
  4. Caso queira adicionar mais questões, repita os passos 1–3.
    IMPORTANTE: cada questão de destino terá suas próprias etapas de processamento.
Atenção

As questões de destino devem atender aos requisitos:

  • Aparecer depois do elemento de Reconhecimento de Texto no formulário.
  • Serem de tipos compatíveis (Texto, Números, Data/Hora, Seleção de valor, etc.).
  • Não são aceitas questões de Arquivo, Script, Fórmula, GPS, Assinatura ou Foto.

Expressões regulares para processamento do texto

As fotos tiradas pelos usuários frequentemente irão conter muito mais texto do que o necessário para preencher as questões do formulário.

Para tornar o texto útil para ser aplicado nas questões, o HashData permite aplicar ao texto reconhecido expressões regulares (regex) em formato JavaScript.

O uso de expressões regulares permite selecionar informações relevantes, como números de identificação, códigos, valores monetários, e também eliminar partes não desejadas do texto capturado.

Segue uma lista de alguns padrões mais úteis:

Padrões básicos

PadrãoSignificadoExemplo
\dQualquer dígito (0-9)\d\d\d encontra "123", ou seja, 3 dígitos em sequência
\d+Um ou mais dígitos\d+ encontra "12345"
\wLetras, números ou _\w+ encontra "abc123"
\sEspaço em branco\s encontra " "
.Qualquer caracterea.c encontra "abc" ou "a1c"

Exemplos práticos

1. Extrair apenas números:

Texto: "Total: R$ 1.234,56"
Padrão: \d+
Resultado: "1234" e "56"

2. Extrair CPF:

Texto: "CPF: 123.456.789-00"
Padrão: \d{3}\.\d{3}\.\d{3}-\d{2}
Resultado: "123.456.789-00"

3. Extrair texto/número após um rótulo específico:

Texto: "Número da nota fiscal: N-12345"
Padrão: Número da nota fiscal:\s*(.+)
Resultado: "N-12345"

4. Extrair valor monetário:

Texto: "Preço: R$ 150,00"
Padrão: R\$\s*[\d.,]+
Resultado: "R$ 150,00"

5. Extrair placa de veículo:

Texto: "Placa: ABC-1234"
Padrão: [A-Z]{3}-?\d{4}
Resultado: "ABC-1234" ou "ABC1234"

Quantificadores

  • + = um ou mais (exemplo: \d+ encontra "123").
  • * = zero ou mais (exemplo: \s* encontra espaços ou nada).
  • ? = zero ou um (exemplo: -? encontra "-" ou nada).
  • {3} = exatamente 3 (exemplo: \d{3} encontra "123").
  • {2,4} = entre 2 e 4 (exemplo: \d{2,4} encontra "12", "123" ou "1234").

Dicas importantes sobre expressões regulares

  1. Comece simples: use \d+ para números, \w+ para palavras.
  2. Escape caracteres especiais: use \\ antes de ., $, (, ), etc.
  3. Seja específico: quanto mais específico o padrão, melhores os resultados.

Etapas de processamento

As etapas de processamento permitem selecionar e transformar o texto capturado antes de aplicá-lo às questões de destino. Você pode criar e configurar múltiplas etapas de processamento em sequência: o resultado de cada etapa de processamento é passado como entrada para a próxima.

Os tipos de etapas de processamento disponíveis são:

Localizar texto

Extraia texto específico usando expressões regulares para encontrar padrões.

Exemplo: extrair apenas os caracteres numéricos de um texto como "Nota Fiscal #12345"

  • Expressão regular de busca de texto: \d+
  • Resultado: "12345"

Substituir texto

Encontre partes do texto usando expressões regulares e substitua por outro texto.

Exemplo: Adicionar "R$ " antes de "100" para formar "R$ 100"

  • Expressão regular de busca de texto:
    (\d[\d.,]*)
  • Texto substituto:
    R$ $1
  • Resultado:
    "R$ 100"

Remover todas as ocorrências

Remova um texto específico do conteúdo capturado. Todas as ocorrências serão eliminadas.

Exemplo: Remover a palavra "Total:" do texto capturado

  • Texto a ser removido:
    Total:

Transformar maiúsculas/minúsculas

Converta todo o texto para maiúsculas ou minúsculas.

Exemplo: padronizar nomes para maiúsculas

  • Transformação de maiúsculas/minúsculas: MAIÚSCULAS
  • Entrada: "joão silva"
  • Resultado: "JOÃO SILVA"

Dicas sobre como configurar etapas de processamento

  • As etapas de processamento são configuradas separadamente para cada questão de destino: cada questão terá sua própria sequência de etapas.
  • As etapas são executadas na ordem em que estiverem definidas.
  • Você pode clonar etapas para criar variações.
  • Arraste e solte para reordenar etapas.
  • Realize testes usando o dispositivo móvel: fotografe o texto e clique na opção "Visualizar textos reconhecidos". Você pode verificar como o texto está sendo reconhecido, e copiar items ou todo o texto para a área de transferência.
  • Durante os testes, você pode desabilitar temporariamente uma etapa de processamento sem a excluír.

Orientações para usuários que coletam dados

Capturando texto no dispositivo móvel (smartphone ou tablet)

  1. Abra o formulário no dispositivo.
  2. Navegue até o elemento de Reconhecimento de Texto e toque em "Tirar foto para reconhecimento de texto (OCR)".
  3. Aponte a câmera para o texto que deseja capturar e tire a foto.
  4. O aplicativo processará o texto da imagem e executará as etapas de processamento, caso existam.
  5. Se bem-sucedido, o texto preencherá automaticamente cada questão de destino. Eventuais erros (dados inválidos ou outras situações) serão exibidos.
  6. Questões de destino que não estiverem visíveis na tela serão preenchidas assim que o usuário navegar até elas.
  7. Você pode ver os textos reconhecidos clicando em "Visualizar textos reconhecidos" no elemento de Reconhecimento de Texto, e copiar os textos para a área de transferência, se necessário.
Como capturar e reconhecer texto (OCR) no aplicativo

Como capturar e reconhecer texto (OCR) no aplicativo

Entendendo os resultados

  • Mensagens de feedback: o aplicativo apresentará mensagens indicando as questões preenchidas com sucesso ou eventuais erros.
  • Múltiplos destinos: se configurado, o texto reconhecido pode ser aplicado a múltiplas questões. Lembre-se de que as etapas de processamento são específicas para cada questão.
  • Questões ainda não visíveis: se uma questão de destino ainda não estiver visível (em alguma página à frente, por exemplo), o texto será aplicado quando você chegar nessa questão.
  • Visualizar os textos capturados: no aplicativo, abaixo do item de Reconhecimento de Texto, clique em "Visualizar textos reconhecidos" para revisar os textos capturados pela câmera do dispositivo. É possível copiar os trechos de texto reconhecidos (individualmente ou todos de uma vez) para a área de transferência do dispositivo.

Detalhes sobre a aplicação dos textos reconhecidos nas questões

Dependendo do tipo de questão, o texto capturado e processado pelas etapas de processamento configuradas será:

  • Questões de texto: o conteúdo é aplicado diretamente no campo de texto.
  • Questões de número: o texto é convertido para número conforme o tipo. Para o tipo inteiro, todos os caracteres não-numéricos são removidos. Caso o texto não possa ser convertido, o usuário será alertado e a questão ficará vazia.
  • Questões de data e/ou hora: o texto será analisado e convertido para o formato específico, conforme as configurações da questão e os padrões mais comuns para o idioma/região do usuário.
  • Questões de seleção única / múltiplas seleções: é procurada uma opção compatível com o texto capturado. Caso nenhuma opção seja encontrada, será utilizada a opção "Outro", caso esteja disponível. Caso contrário, a questão permanecerá vazia.
  • Questões de ordenar/priorizar: a opção correspondente ao texto capturado será colocada na primeira posição da lista ordenada. Caso nenhuma opção seja encontrada, será utilizada a opção "Outro", da mesma forma que nas questões de seleção.
  • Questões de avaliação (expressões/emojis): o texto capturado será convertido para número e aplicado na quantidade de estrelas/emojis correspondente. Caso o número esteja fora do intervalo permitido, o valor não será aplicado.

Casos de uso

Caso de uso 1: Entrada de dados de notas fiscais

Cenário: agentes de campo precisam registrar informações de notas fiscais de recibos em papel.

Configuração do formulário (editor na aplicação web):

  1. Adicione um elemento de Reconhecimento de Texto no início do formulário.
  2. Configure questões de destino:
    • Número da nota fiscal (Texto).
    • Valor total (Número).
    • Data (Data).
  3. Adicione etapas de processamento para cada questão:
    • Para Número da Nota Fiscal: localizar texto com a expressão regular NF-\d+.
    • Para Valor Total: localizar texto iniciando com "R$" seguido de números e vírgula, com expressão regular de captura R\$\s*([\d.,]+).
    • Para Data/hora: localizar texto que começa com "Data/hora de emissão:" seguido de data no formato DD/MM/AAAA HH:MM:SS, usando a expressão regular Data/hora de emissão:\s*(\d{2}\/\d{2}\/\d{4}\s+\d{2}:\d{2}:\d{2}).

Fluxo do usuário que realiza a coleta dos dados:

  1. O agente tira foto da nota fiscal.
  2. O sistema extrai: "NF-12345", "125,50", "2025-11-15 14:30:00".
  3. Os três campos são preenchidos automaticamente nas questões de destino no formulário.

Caso de Uso 2: Verificação de Documento de Identificação

Cenário: Pessoal de segurança precisa registrar informações de identificação de visitantes.

Configuração do formulário na aplicação web:

  1. Adicionar elemento de reconhecimento de texto antes das questões de destino.
  2. Questões de destino adicionadas:
    • Nome Completo (Texto) – transformar para MAIÚSCULAS.
    • Número do CPF (Máscara).
  3. Etapas de processamento:
    • Para Nome Completo:
      1. Localizar texto com expressão regular Nome:\s*([A-Za-z\s]+).
      2. Transformar para MAIÚSCULAS.
    • Para Número do CPF:
      1. Localizar texto com expressão regular CPF:\s*(\d{3}\.\d{3}\.\d{3}-\d{2}).

Fluxo para o usuário que realiza a coleta de dados:

  1. O segurança fotografa o documento do visitante.
  2. Nome completo e número do CPF são preenchidos automaticamente nas questões de destino.

Caso de uso 3: Coleta de números de série de equipamentos

Cenário: Equipe de manutenção precisa registrar números de série de equipamentos.

Configuração do formulário na aplicação web:

  1. Criar elemento de Reconhecimento de Texto.
  2. Questão de destino: Número de Série (Texto).
  3. Etapa de processamento: Adicionar uma etapa do tipo 'Localizar texto', usando a expressão regular NS:\s*(\w+) para extrair apenas o número de série.

Fluxo para o usuário que realiza a coleta de dados:

  1. O técnico fotografa a etiqueta do equipamento mostrando "NS: ABC123XYZ".
  2. O aplicativo localiza o texto "ABC123XYZ".
  3. O campo Número de Série do formulário é preenchido automaticamente.

Caso de uso 4: Inventário de múltiplos itens

Cenário: Pessoal de armazém escaneando códigos de produtos

Configuração do formulário na aplicação web:

  1. Adicionar elemento de Reconhecimento de Texto.
  2. Adicionar questão de seleção única, importando para as opções todos os códigos de produto disponíveis. Habilitar a opção "Outros".
  3. No elemento de reconhecimento de texto, adicionar questão de destino: Código do Produto.
  4. Adicionar etapa de processamento para a questão:
  • Localizar texto com expressão regular PROD-\d+ para capturar códigos de produto no formato "PROD-12345".

Fluxo para o usuário que realiza a coleta de dados:

  1. O pessoal fotografa a etiqueta da caixa de cada produto.
  2. Todos os produtos correspondentes são selecionados automaticamente.
  3. Caso um código não esteja na lista, a opção "Outros" é selecionada e o valor do código é preenchido.

Caso de uso 5: Placas de veículos

Cenário: Atendentes de estacionamento registrando informações de veículos.

Configuração do formulário na aplicação web:

  1. Adicionar um elemento de Reconhecimento de Texto.
  2. Adicionar questão de destino: placa (Texto).
  3. Adicionar etapas de processamento: transformar para MAIÚSCULAS e remover espaços.

Fluxo para o usuário que realiza a coleta de dados:

  1. O atendente fotografa a placa.
  2. O padrão é localizado, convertido para maiúsculas e espaços removidos. Outros caracteres são ignorados.
  3. O número da placa é registrado na questão de destino.

Como obter melhores resultados

Dicas para usuários que criam e editam formulários

  1. Instruções claras: Adicione texto descritivo explicando o quais regiões de interesse os usuários devem fotografar.
  2. Teste as etapas de processamento: Realize testes com o aplicativo, especialmente com etapas do tipo 'Localizar texto' e 'Substituir texto', que utilizam expressões regulares, com dados de amostra.
  3. Visualize os textos reconhecidos: Use a funcionalidade de 'Visualizar textos reconhecidos' no aplicativo do HashData para verificar a maneira que os textos estão sendo capturados, e ajuste as etapas de processamento conforme necessário.
  4. Use expressões regulares simples: Comece com padrões simples e vá refinando conforme necessário.
  5. Descrever as etapas: Descreva as etapas de processamento para documentar e facilitar futuras edições, usando o campo 'Descrição da etapa'.
  6. Valide os tipos de questões: Certifique-se de que as questões de destino são compatíveis com o tipo de dados esperado.

Dicas para usuários que realizam a coleta de dados

  1. Boa iluminação: Garanta iluminação adequada ao fotografar texto.
  2. Câmera estável: Segure seu dispositivo firmemente para evitar desfoque.
  3. Distância: Aproxime-se o suficiente para que o texto fique bem legível na tela.
  4. Superfície: Sempre que possível, coloque o documento ou item com textos em uma superfície plana antes de fotografar.
  5. Verifique os dados preenchidos: Realize a conferência dos dados preenchidos automaticamente.
  6. Edição manual: Você pode editar qualquer campo preenchido automaticamente para corrigir ou alterar dados.

Solução de problemas

"OCR indisponível"

  • O aplicativo necessita de uma conexão ativa com a internet para realizar o primeiro download do modelo de reconhecimento de textos (normalmente ocorre uma vez, na inicialização).
  • A funcionalidade de Reconhecimento de Texto está disponível apenas em dispositivos móveis (iOS e Android).

"Nenhum texto reconhecido"

  • A fotografia com o texto pode estar muito borrada ou escura.
  • Tente tirar a foto novamente, com melhor iluminação, e posicionando melhor o foco.
  • Certifique-se de que o texto esteja claramente visível.

"Texto processado vazio"

  • O texto resultante das etapas de processamento aplicadas resultou em vazio.
  • Realize testes para garantir que as etapas de processamento estejam configuradas corretamente, especialmente aquelas que utilizam expressões regulares.

"Número inválido reconhecido"

  • O texto capturado não pôde ser convertido para número.
  • Certifique-se de que o texto de origem contenha dados numéricos.

Privacidade e segurança

  • O processamento das fotos é realizado apenas no dispositivo.
  • Apenas os dados de texto extraídos são salvos com a resposta do formulário.