OCR no Ubuntu

Presumo que você saiba o que é OCR (Optical Character Recognition, ou em nosso idioma, Reconhecimento Óptico de Caracteres). Num resumo simples, você precisa dele quando quer copiar e colar a partir de um texto salvo como uma imagem.

Caso você não tenha uma imagem pronta, ou seja, se ainda vai escanear o documento, a opção é usar o gscan2pdf, um programa que escaneia e faz o OCR concomitantemente. Ele, o gscan2pdf, é gráfico e intuitivo, razão pela qual vou deixar você mesmo lidar com ele.

A dica, aqui, é pertinente para quem já tem o PDF, ou seja, já tem a imagem pronta, pois não conheço programa capaz de escanear um PDF diretamente. Mas há solução, como sempre envolvendo um pouco de linha de comando.

Primeiro vamos instalar tudo que precisamos:

$ sudo apt-get install tesseract-ocr tesseract-ocr-por gscan2pdf imagemagick nautilus-open-terminal

Reiniciamos o sistema, para evitar problemas com os novos programas/configurações.

Agora, navegamos até a pasta onde está nosso PDF pelo Nautilus (Gerenciador de Arquivos) e clicamos com o direito do mouse num espaço vazio da janela da direita, escolhendo “Abrir num terminal”. No terminal aberto, já na pasta onde o PDF está, primeiro o convertemos para uma imagem aceita pelo Tesseract, nosso programa de OCR. O comando para isso é:

$ convert -density 300 arquivo.pdf -depth 8 arquivo.tiff

Troque arquivo.pdf pelo nome do “seu” PDF, sendo arquivo.tiff o arquivo de saída, convertido e contendo tantas páginas quanto o PDF que lhe deu origem (você pode confirmar isso abrindo-o com o Evince, o leitor de PDF padrão do Ubuntu).

Note que a conversão deve levar tempo proporcional ao número de páginas do PDF original e o arquivo resultante deve ocupar bastante espaço, pois será de alta resolução para facilitar o OCR, que devemos rodar em seguida com o comando:

$ tesseract arquivo.tiff texto -l por

No comando acima, o arquivo TIFF resultante da conversão do PDF será lido e o resultado em texto integrará o arquivo texto, que terá a extensão TXT por padrão. Finalmente, a opção “-l por” indica que o texto a ser lido está em português.

Complicado? Nem tanto.

E para mim, ser capaz de fazer isso é uma tremenda mão-na-roda, sobretudo quando preciso fazer várias citações de um determinado texto, ou mesmo copiar descrições monótonas de certidões oficiais.

6 comentários em “OCR no Ubuntu”

  1. Nesse comando ”$ convert -density 300 arquivo.pdf -depth 8 arquivo.tiff” esses valores 300 e 8 são constantes?

  2. Ao rodar:
    $ convert -density 300 arquivo.pdf -depth 8 arquivo.tiff

    Obtive este erro:
    **** Warning: File has an invalid xref entry: 3999. Rebuilding xref table.

    Sabe do que se trata?

    Obrigado

Deixe um comentário