FreePDF logoFreePDF

OCR saiu com texto errado ou embaralhado? Como melhorar o resultado

Pela equipe do FreePDF ·

Você passou a digitalização pelo OCR, copiou um parágrafo e colou algo como “Tbe qnick hrown f0x”. Ou as palavras até estão certas, mas meia frase da quarta linha foi parar na segunda. O OCR adivinha letras a partir de pixels, e quando ele adivinha mal a culpa quase sempre é da imagem da página, não de alguma configuração escondida.

Texto em português: leia isto primeiro

O nosso OCR reconhece só inglês, e não há opção de idioma para trocar. Uma página em português sai em boa parte legível, porque o alfabeto é o mesmo, mas ç, ã, õ e as vogais acentuadas são os pontos fracos: somem ou viram outro caractere parecido. “Informação” pode chegar como algo próximo de “informacao”, e uma busca por “exceção” no PDF deixa de achar a palavra. Para contrato, laudo ou qualquer texto que você vá copiar e reaproveitar, isso não serve.

A saída é um OCR com o idioma português instalado. Se você se vira na linha de comando, instale no seu computador o ocrmypdf (a ferramenta de código aberto por trás da nossa) e o pacote de idioma português do Tesseract, e rode com a opção -l por+eng. O “+eng” ajuda quando o documento mistura termos em inglês.

Veja a camada de texto inteira

Pesquisar no leitor de PDF só diz se uma palavra foi encontrada. Para ver tudo o que o OCR produziu, passe o arquivo pelo PDF para Texto e leia o .txt que ele devolve. Em geral aparece um destes padrões:

  • Uma página vazia. Ela estava deitada, clara demais ou foi pulada.
  • Palavras certas fora de ordem. É problema de layout: colunas, tabelas ou uma página torta.
  • Palavras cheias de letras erradas. A causa está na qualidade da imagem, na fonte ou no idioma.

O PDF para Texto tem a sua própria caixa “Usar OCR (ler o texto de páginas escaneadas)”, com o mesmo motor do OCR em PDF. Se o .txt é tudo o que você precisa, dá para ir da digitalização ao texto num passo só.

A página já tinha texto

O nosso OCR pula qualquer página que já contenha texto, para nunca escrever por cima de palavras existentes. Na maioria das vezes é o que você quer. O problema aparece quando o texto existente é o próprio lixo: alguns escâneres fazem um OCR tosco por conta própria, e alguns PDFs têm fontes que saem como símbolos ao copiar, porque o arquivo nunca registrou qual letra cada desenho representa. A ferramenta vê texto, deixa a página em paz e devolve a mesma bagunça.

O jeito é achatar as páginas em imagens puras antes:

  1. Converta o PDF com o PDF para JPG, escolhendo Alta (300 DPI).
  2. Junte os JPGs de novo num PDF com o JPG para PDF. Confira a ordem antes de converter, porque o botão Ordenar por nome coloca page_10 antes de page_2. As setas para cima e para baixo resolvem.
  3. Rode o OCR em PDF no arquivo novo.

A cópia achatada perde links e campos de formulário, então guarde o original. E se o documento está em português, lembre do que foi dito lá em cima: achatar resolve o texto escondido, não o idioma. Na linha de comando, o ocrmypdf tem as opções --force-ocr e --redo-ocr para exatamente este caso.

Arrume a digitalização, não as configurações

O Tesseract, o motor que faz o reconhecimento, trabalha melhor com páginas limpas e retas, em torno de 300 dpi. A maior parte do texto embaralhado vem de uma destas causas:

  • Resolução baixa ou imagem borrada. Digitalize de novo a 300 dpi, ou 400 para letra miúda. Ampliar uma imagem borrada depois não traz o detalhe de volta.
  • Página torta. Não endireitamos as páginas antes de ler, e uns poucos graus de inclinação já bastam para partir linhas e emendar pedaços de linhas diferentes. Digitalize reto ou use um aplicativo de digitalização que recorte e alinhe sozinho.
  • Página deitada ou de cabeça para baixo. Também não há rotação automática. Passe o arquivo pelo Girar PDF antes, lembrando que ele gira todas as páginas.
  • Pouco contraste. Cópia de carbono desbotada, lápis e papel colorido dificultam separar a letra do fundo.

O que o OCR lê mal de qualquer jeito

Letra de mão é o caso principal. O Tesseract foi feito para texto impresso, e anotações cursivas na margem viram ruído. Fontes caligráficas ou muito decorativas dão problema parecido, assim como texto impresso sobre foto ou fundo estampado. Tabelas e páginas em colunas muitas vezes saem com todos os caracteres certos, mas lidos de lado a lado da página: o texto fica pesquisável, só que não faz sentido quando copiado. Nesses casos o OCR te dá a busca; para ter o texto exato, redigitar ainda é o caminho.

Perguntas comuns

Rodar o OCR uma segunda vez melhora o resultado?

Não. A segunda passada encontra a camada de texto da primeira e pula todas as páginas. Achate o arquivo como descrito acima ou, melhor ainda, comece de uma digitalização mais limpa.

Por que o OCR confunde 0 com O e 1 com l?

Em baixa resolução esses caracteres têm quase o mesmo formato, e o motor precisa escolher um. Uma digitalização mais nítida ajuda muito. Em total de nota fiscal, número de conta, CPF e tudo em que um dígito errado faz diferença, compare o texto do OCR com a imagem da página antes de confiar nele.

Ferramentas gratuitas relacionadas