Convirtiendo PDF llenos de imágenes a texto

Tras la publicación de la contabilidad desaparecida del PP desde 1990 hasta 2011 muchos nos lanzamos a echar un vistazo.

Tras descargar los .zip, analizarlos y comprobar que estaban limpios de virus, etc. descubrimos en su interior archivos pdf llenos de imágenes escaneadas, nada de texto puro y duro sobre el que hacer búsquedas.

Iba a hacer yo mismo la conversión a texto y facilitarla a varios periodistas, pero me temo que me he topado con un problema legal interesante, en los pdf aparecen DNI, que una vez pasado a texto se convierten en un datos de carácter personal amparado por la LOPD (y no dispongo del tiempo necesario para leerme todo y limpiarlo), con lo que no puedo distribuir el resultado de la conversión, pero sí contaros como podéis hacerlo vosotros mismos en casa o en la redacción de un periódico.

Existen dos métodos para hacer esto:

1.- Método Barato reciclando un viejo script en Linux.

Consiste en tener una máquina Linux, instalarnos el OCR de Google y ejecutar un script.

Algunas distribuciones Linux lo traen como paquete, también se puede descargar de:

https://code.google.com/p/tesseract-ocr/

Descargados y descomprimidos los zip en una ruta del disco, creamos el siguiente script, modificando la ruta donde están nuestros archivos descomprimidos y ejecutamos:

#!/bin/bash

recursiverm() {
  for d in *; do
  if [ -d $d ]; then
    (cd $d; recursiverm)
  fi
  for a in *.pdf; do
    echo $a
    pdftoppm «$a» -f 1 -r 300 «$a».ppm;

    for b in *.ppm; do
      tesseract «$b» «$b» -l spa -psm 1;
      rm «$b»;
    done

  done
done
}

(cd /home/soydelbierzo/Descargas/Contabilidad; recursiverm)

Nota: No descarto que haya algún fallo en el script, se está ejecutando ahora mismo para comprobarlo. Editado: El script funciona correctamente y reconoce bastante bien el texto

Pero como esto no es asequible para mucha gente, hay una opción B:

2.- Comprar una aplicación que haga el trabajo por nosotros, en este caso Nitro Pro 8 que he probado con varios de los pdf y lo borda.

Podéis descargarlo de aquí http://www.nitropdf.com/es/try

Solo funciona con Windows, permite usarlo gratis 14 días, luego os tocará pagar 114€ por seguir usándolo.

 

Read 7 comments

  1. Gracias por el script. A mi me está funcionando muy bien. Sólo dos cosas: Al hacer copia/pega hay que tener cuidado con las comillas, que “” no son lo mismo que «». Otra precaución es la de que el nombre del archivo pdf no contenga espacios en medio.

  2. Yo evitaría la recursividad, algo como:

    files=`find /home/soydelbierzo/Descargas/Contabilidad -iname \*.pdf`

    for f in $files; do
    …..
    done

    Así evitas la recursividad y te queda un script lineal bien cuco 😛

Comments are closed.