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:
- Converta o PDF com o PDF para JPG, escolhendo Alta (300 DPI).
- 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.
- 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.