sábado, 13 de abril de 2019

Convertir PDF digitalizado en PDF texto desde consola con tesseract

El objetivo es convertir un archivo PDF digitalizado directamente de un documento en un PDF de texto.

¿Qué necesitamos?

ImageMagic y Tesserant

sudo apt install imagemagick tesseract-ocr

Desactivamos las restricciones de ImageMagic

sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml_backup

Comandos para la conversión

Convertimos a tiff, pasamos el ocr y borramos el tiff:
convert -density 300 mi_doc.pdf -depth 8 mi_doc.tiff
tesseract mi_doc.tiff mi_doc.txt.pdf spa
rm mi_doc.tiff
En la línea del commando tesseract el tercer parámetro es el idioma, en nuestro caso español, si no se pone nada usa inglés y podemos saber que idiomas hay disponibles con el comando:
tesseract --list-langs

Posibles problemas

Si la imagen no está lo suficiente limpia o no es adecuada nos podemos encontrar errores como:
  • Image too small to scale!! (2x36 vs min width of 3)
  • LSTM: Training - Image not trainable
  • Tesseract not detecting text 
Las razones pueden ser diversas: las imágenes están rotadas, no tienen nitidez, poca resolución, etc... a lo mejor con algún programa gráfico como Gimp puedes limpiar el tiff y conseguir mejores resultados.

Es cuestión de prueba y error y si es necesario ampliar la información con tu buscador favorito en internet.

No hay comentarios:

Publicar un comentario