Como extraer con tesseract el texto de un PDF escaneado

Hay una herramienta OCR muy potente disponible para GNU/Linux que se llama tesseract. Permite extraer textos a partir de imágenes escaneadas y funciona francamente bien.

Para instalar en Debian los paquetes necesarios, basta con ejecutar con privilegios de administrador aptitude install tesseract-ocr tesseract-ocr-spa (este último paquete, por si queremos escanear textos en español).

Generalmente, lo que se suele disponer es de un PDF conteniendo texto escaneado (o incrustado como imagen). Como tesseract no trabaja directamente con PDF, lo mejor es convertirla a formato TIFF con este comando:

gs -sDEVICE=tiff24nc -r300x300 -dNOPAUSE -sOutputFile=Ejemplo.tif -- Ejemplo.pdf

donde Ejemplo.pdf es el PDF al que extraer el texto, y Ejemplo.tif será el fichero TIFF resultante, que contendrá todas las páginas del PDF. La resolución de 300×300 es más que suficiente para que trabaje bien tesseract.

Con esto, ya podemos extraer el texto fácilmente, utilizando el comando:

tesseract Ejemplo.tif Ejemplo.txt

En principio, no hace falta más opciones, aunque se le puede indicar el lenguaje en el que está el texto con, por ejemplo, -l spa. Por defecto, se supone que está en inglés.

Podéis comprobar que el resultado es de muy alta calidad. Como curiosidad, el origen de tesseract está en un software propietario de Hewlett Packard comercializado entre 1985 y 1995, que fue liberado en 2005, y que actualmente está siendo desarrollado y distribuido por Google, pues lo usa en su ingente tarea de escaneado de libros.

 

Valora este apunte

Deja un comentario