viernes, 29 de julio de 2016

La guía de viajes en papel la escaneo y la paso a la tablet


Cuando salgo de viaje me gusta llevar una guía y aunque habitualmente la llevo en papel, este año me he decidido a escanearla y llevarla en mi tablet. Las ventajas son muchas:

  • Por un lado el ahorro de peso. La guía tiene unas 700 páginas y es un bloque de casi un kilo.
  • Podemos leer mi mujer y yo a la vez.
  • Puedo hacer anotaciones sin problema de estropearla.
  • ...

Para hacerlo es fundamental contar con un escáner rápido y de carga múltiple. Además, he utilizado herramientas como ImageMagick y PDFtk para automatizar buena parte del trabajo.



Lo primero es cortar la guía. Yo lo he hecho con un cuter.





A continuación el que resultó ser el trabajo más pesado, escanear. Estuvimos un buen rato buscando el mejor sistema. Este escáner nos permitía escanear de 50 en 50, aunque por temor empezamos haciéndolo de 10 en 10. Una de las claves es colocar siempre el taco de páginas en la misma posición.



Una vez escaneadas tendremos una carpeta con las imágenes que ahora tocará procesar.


Yo he organizado las imágenes en estas 12 carpetas a medida que he ido recuperando el orden de las imágenes. Ten en cuenta que el escaneo es un medio caos: escaneas, se traga alguna, vuelves a escanear, se quedó alguna por escanear,...




Auto-recortar
El primer paso a aplicar a todas las fotos es autocrop. La guía no es DIN-A4, pero sí que escaneamos a ese tamaño. Lo que ocurre es que todas las imágenes tendrán un margen alrededor que NO es la guía y que quiero eliminar.

Para ello he utilizado el comando de ImageMagick: 
convert -crop +repage *.jpg



Cortar margen izquierdo y derecho
El auto-recorte hace muy bien su trabajo, y para la mayoría de las imágenes es válido. Sin embargo, en ocasiones se queda un margen molesto a la izquierda o a la derecha que recorto pasando estos dos scripts crop_left.sh y crop_right.sh:


crop_left.sh

for f in *.jpg
do
        echo "processing $f..."
        convert -crop 2500x2500+280+0\! $f $f.new.jpg
done

crop_right.sh
for f in *.jpg
do
        echo "processing $f..."
        convert -crop 1500x2500+0+0\! $f $f.right.jpg
done


Convertir imágenes en PDF
ImageMagick nos permite convertir una carpeta de imágenes en un único fichero .pdf, donde cada imagen sea una nueva página. Si el orden de las imágenes por su nombre coincide con el orden de página en el pdf que deben ocupar, podemos escribir este comando para que todo quede perfectamente en su sitio:
convert `ls -1v *.jpg` ../gb01.pdf


Unir todos los PDF en uno único
Como ves, he creado un PDF para cada carpeta de imágenes. Ahora lo que toca es unir todos esos PDF para crear uno solo que sea la guía completa. Para ello he usado la herramienta PDFtk:
pdftk *.pdf cat output gb.pdf


Y ya tengo mi guía en PDF


Convertir un PDF en imágenes de alta resolución
Uno de los lotes de páginas de la guía se escaneó como PDF, así que, en lugar de volver a escanear (que es una pesadez), lo que hice fue convertir ese PDF en imágenes para poderlas tratar con ImageMagick.


convert -verbose -density 150 <fichero.pdf> -quality 100 -sharpen 0x1.0 img.jpg
Esto creará una imagen por cada página del PDF, que luego podré tratar como en el resto de los casos.


Cambiar el tamaño de una carpeta de imágenes
Las imágenes extraidas del PDF del paso anterior tenían un tamaño muy diferente al resto, de modo que al abrir el PDF pasaban cosas incómodas.
Lo que he hecho es redimensionar toda esta carpeta al mismo tamaño que el resto de nuevo con ImageMagick:

mogrify -resize 1480x2512 *.jpg






Con todos los PDF unidos en uno solo, mi guía ya está lista para poderla leer en la tablet