Pular para o conteúdo

OCR no Ubuntu

Dica publicada em Linux / Software
Andre (pinduvoz) pinduvoz
Hits: 28.321 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar

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, é 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.

Esta dica foi publicada antes no meu blogue:

Instalando o Grub-Customizer

Kernel compilado para o AA1 no UNR

Tuquito Linux - O Ubuntu Argentino

Amule atualizado no Acer Aspire One (Linpus Linux Lite)

Temas do Ubuntu para o Google Chrome e o Chromium

Três alternativas Open Source para o Adobe Lightroom (instalação no Ubuntu 20.04 e derivados)

Resolvendo problemas com o gtk-config em scripts antigos

Criando um executável no Gambas - Vídeo aula

Prey - Monitora seu laptop perdido ou roubado

Corrigindo problema do Acrobat Reader 7.0.9 no Ubuntu

#1 Comentário enviado por ramon.rdm em 24/01/2014 - 17:20h
Boa dia cara!
Valeu!
#2 Comentário enviado por eferro em 17/09/2014 - 07:29h
Oi André, tive o erro abaixo. Parece problema com o tipo de imagem, mas não entendi o porque.
Tesseract Open Source OCR Engine v3.02 with Leptonica
Error in pixReadFromTiffStream: spp not in set {1,3,4}
Error in pixReadStreamTiff: pix not read
Error in pixReadStream: tiff: no pix returned
Error in pixRead: pix not read
Unsupported image type.
#3 Comentário enviado por ander_slash em 04/04/2015 - 20:40h
Vlw, me ajudou pakas, abç
#4 Comentário enviado por DenisMata em 27/09/2018 - 21:08h
Funcionou. Valeu

Contribuir com comentário

Entre na sua conta para comentar.