Feb 11 2010

Crear un PDF a partir de varias imágenes (jpg, jpeg, gif)

Vamos a ver como convertir un grupo de imágenes jpg (formatos permitidos: PS PDF JAI PNG JPEG TIFF PNM BMP GIF LBM XPM PCX TGA, sólo hay que cambiar la extensión jpg por la que queramos convertir) en un pdf, con una imagen por página. Lo primero que tenemos que hacer es meter en una carpeta todas las imágenes ordenadas como queremos que salgan en el pdf. No metáis nada más, ni imágenes repetidas, ni nada. Pongo un ejemplo: Tenemos 100 imágenes de un cómic que hemos dibujado y escaneado en la carpeta Comic. Las imágenes se llaman imagen001.jpg, imagen002.jpg…imagen100.jpg Dónde imagen001.jpg será la primera página del pdf e imagen100.jpg la última.

¿Qué necesitamos?
Dos programitas
1.- PDFtk
2.- sam2p

Instalando PDFtk y sam2p
Abrimos una terminal (Aplicaciones -> Accesorios -> Terminal) y escribimos:
sudo apt-get install pdftk

Metemos nuestra contraseña y le decimos que sí a la pregunta que nos hará (escribimos s y pulsamos intro). Cuando acaba instalamos sam2p, escribiendo:
sudo apt-get install sam2p

y hacemos lo mismo que en el anterior. Ya estamos listos para crear nuestro pdf.

Creando el pdf a partir de las imágenes jpg
Lo primero que tenemos que hacer es convertir cada imagen en un pdf. Para ello, si son pocas, podemos hacerlo a mano, pero como son 100, vamos a hacer un programita que lo haga por nosotros.
Abrimos una terminal y vamos a la carpeta Comic, que tenemos en el Escritorio, en este ejemplo. Escribimos:
cd Escritorio/Comic

Ahora vamos a convertir todas las imágenes jpg del cómic en pdfs. Escribimos esto:
for f in $(ls *.jpg); do sam2p $f PDF: $f.pdf ; done

Y por cada imagen nos va a salir algo parecido a esto:
This is sam2p v0.45-3.
Available Loaders: PS PDF JAI PNG JPEG TIFF PNM BMP GIF LBM XPM PCX TGA.
Available Appliers: XWD Meta Empty BMP PNG TIFF6 TIFF6-JAI JPEG-JAI JPEG PNM GIF89a+LZW XPM PSL1C PSL23+PDF PSL2+PDF-JAI P-TrOpBb.
sam2p: Notice: job: read InputFile: imagen001.jpg
sam2p: Notice: writeTTT: using template: p0jbb
sam2p: Notice: applyProfile: applied OutputRule #0
sam2p: Notice: job: written OutputFile: imagen001.jpg.pdf
Success.

La explicación de lo que hace nuestro programita bash es:
Cada resultado de ls *.jpg, es decir, cada imagen .jpg, se va almacenando en la variable f. Por cada imagen ejecutamos el comando sam2p $f PDF: $f.pdf que convierte lo que hay almacenado en f en f.pdf. Es un bucle sencillo y muy útil.

Una vez hecho esto, ya tenemos 100 pdfs, cada uno con su correspondiente imagen. Ahora vamos a unirlos en un sólo pdf. Estando en Escritorio/Comic, escribimos en la terminal:
pdftk *.pdf cat output comic.pdf

No debe darnos ningún error, pero puede aparecer algún warning. En teoría no pasa nada.

Ya tenemos nuestro PDF listo, con una imagen en cada página.

A 10 usuari@s les gusta este tutorial - Me gusta

Etiquetas: , , , , ,