En ocasiones me suelen enviar información técnica o de otro tipo escaneada, generalmente en JPG. Siempre es complicado almacenar dicha información, sobre todo cuando son muchos ficheros por lo que suelo incluir esta información en un PDF multipágina. Y como siempre la consola es tu mejor amiga haciendo el trabajo rápido y sencillo.

La verdad es que no es demasiado molesto si son tres o cuatro documentos. ¿Pero para qué realizar tareas repetitivas? Para eso están las máquinas y toda la potencia de la consola. Imagina este mismo supuesto con 100 o 200 archivos.

El código es muy simple

for f in *.jpg; do convert ./"$f" ./"${f%}.pdf";
done && pdfunite $(ls -b *.pdf) final.pdf && rm *.jpg.pdf *.jpg

Como siempre una solución simple y elegante.

Explicación

Para realizar esta operación utilizamos dos librerías bien conocidas:

  • El comando convert de la suite de utilidades gráficas ImageMagick. Por si acaso nos aseguramos que la resolución sea de 300 puntos y el tamaño del PDF sea A4.
  • La utilidad pdfunite con una de las sintaxis más sencillas que existen.

En primer lugar ejecutamos un bucle for para convertir cada uno de los ficheros de imagen del directorio a PDF, que en el ejemplo son *.jpg pero pueden ser cualquier otro.

La segunda parte simplemente utiliza pdfunite para crear un único fichero final a partir de todos los PDF generados.

Por último borramos los archivos intermedios generados y las imágenes. Naturalmente esta operación la puedes realizar siempre más tarde, por lo que pudiera pasar.

Sencillo, ¿verdad? Y vosotros, ¿qué otras soluciones utilizais?

Comparte si te ha gustado

Autor:
Última actualización:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.