- Bota essas folhas no scanner e transforma em texto para gente por favor? #partiu !
A impressora aqui no trabalho não faz essa mágica. Então lá fui eu atrás de software...
A palavra chave aqui é OCR: Optical Character Recognition!
OCR é a tecnologia para reconhecimento de caracteres. Como numa imagem não podemos simplesmente copiar e colar o texto, utilizamos programas que implementam essa tecnologia a fim de extrair esses caracteres.
Os procedimentos a seguir foram executados no Ubuntu 13.04.
Primeiramente eu baixei um programa de OCR, o Tesseract, e junto, seu pacote para reconhecer caracteres em português:
- sudo apt-get install tesseract-ocr tesseract-ocr-por imagemagick
Notem que também será feita a instalação do Image Magick, isso porque irei utilizá-lo num script para automatizar o processo. Image Magick é um incrível editor/conversor de imagem através de linha de comando. Se um dia precisarem escrever um script para editar/converter imagem, busquem mais por esse software, recomendo!
Se você passou uma só folha no scanner e ainda salvou em imagem, simplesmente faça:
- tesseract minhaImagem.jpg novoArquivoTexto
Mas se você colocou no scanner várias folhas e ainda transformou em PDF, meu caso, vamos fazer um script para automatizar sua conversão:
#!/bin/sh
STARTPAGE=1 # Digite aqui o número da primeira página a ser lida
ENDPAGE=3 # Digite aqui o número da última página a ser lida
SOURCE=meuarquivo.pdf # Nome do PDF original
OUTPUT=meuarquivo.txt # Nome do arquivo de saída. O resultado é dado em texto simples.
RESOLUTION=300 # Digite aqui qual a resolução que o documento foi scaneado
touch $OUTPUT
for i in `seq $STARTPAGE $ENDPAGE`; do
convert -density $RESOLUTION $SOURCE\[$(($i - 1 ))\] page.jpg
echo processing page $i
tesseract -l por page.jpg tempoutput
cat tempoutput.txt >> $OUTPUT
done
Salve esse bloco num arquivo de texto, sugestão, converterPDF2TXT.sh
Altere os primeiros parâmetro que estão comentados com as informações do seu arquivo de entrada e saída. Depois altere as permissões do arquivo para execução e então é só rodar!
- chmod 775 converterPDF2TXT.sh
- ./converterPDF2TXT.sh
O interessante é scannear utilizando uma resolução alta, por exemplo, 300dpi.
Há uma maneira de fazer tudo isso graficamente, sem precisar do script shell. Instale o gscan2pdf, ele fará interface para o Tesseract. Porém, não tive sucesso, esse programa não enxergou o Tesseract, então não converteu (problema em pc's 64bits). Fica a dica para quem quiser testar.
Té + gente !
Genial.. Não pare...
ResponderExcluirUma pena... Mas deu certo não.
ResponderExcluirconstitucional.pdf constituicao_federal_51ed.epub converterPDF2TXT.sh oab
jdt@jdt:~/Área de Trabalho/OAB XXII$ ./converterPDF2TXT.sh
convert: unable to open image `meuarquivo.pdf': Arquivo ou diretório não encontrado @ error/blob.c/OpenBlob/2712.
convert: no images defined `page.jpg' @ error/convert.c/ConvertImageCommand/3210.
processing page 1
Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Error opening data file /usr/share/tessdata/por.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'por'
Tesseract couldn't load any languages!
Could not initialize tesseract.
cat: tempoutput.txt: Arquivo ou diretório não encontrado
convert: unable to open image `meuarquivo.pdf': Arquivo ou diretório não encontrado @ error/blob.c/OpenBlob/2712.
convert: no images defined `page.jpg' @ error/convert.c/ConvertImageCommand/3210.
processing page 2
Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Error opening data file /usr/share/tessdata/por.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'por'
Tesseract couldn't load any languages!
Could not initialize tesseract.
cat: tempoutput.txt: Arquivo ou diretório não encontrado
convert: unable to open image `meuarquivo.pdf': Arquivo ou diretório não encontrado @ error/blob.c/OpenBlob/2712.
convert: no images defined `page.jpg' @ error/convert.c/ConvertImageCommand/3210.
processing page 3
Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Error opening data file /usr/share/tessdata/por.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'por'
Tesseract couldn't load any languages!
Could not initialize tesseract.
cat: tempoutput.txt: Arquivo ou diretório não encontrado
jdt@jdt:~/Área de Trabalho/OAB XXII$