Mar 27 2010

Convertir un documento HTML a PDF

Tenía que imprimir unos billetes de autobús desde el email, pero salían mal, en formato web y tampoco quería que se imprimiera todo, ya que la parte de las condiciones no me hacía falta.

Lo primero que hice es darle a imprimir, en gmail, y guardar la página que se te abre en formato para imprimir como html (Archivo-> Guardar como).

Una vez hecho esto, quería pasarlo a pdf, para poder seleccionar que páginas imprimir y demás. Es decir, necesitaba un conversor de html a pdf

Vamos a utilizar HTMLdoc Os dejo el tutorial que encontré en el blog de neonigma, modificado un poco por mí.

Instalar HTMLdoc
Abrimos una terminal (Aplicaciones->Accesorios->Terminal) y ponemos:
sudo apt-get install libchm-bin htmldoc
metemos el password y le damos a sí.

Ahora escribimos:
htmldoc
y se nos abre el programa.

htmldoc - convertir html a pdf

Convertir HTML a PDF
Pulsando en el botón Add files o en el botón Add URL añadiremos el origen HTML a convertir. Si el fichero tiene imágenes en una carpeta a parte, con añadir el html ya vale, el reconoce las imágenes. En las opciones de salida (output) tengo puesto lo siguiente:

htmldoc - convertir html a pdf output

Le damos a Generate y se nos guarda el pdf.

Existe una particularidad y es que los PDF generados sólo admiten codificación iso:

htmldoc - convertir html a pdf codificación

Esto ocasiona que si generamos un PDF de un HTML capturado en Ubuntu, nos saldrá con los típicos acentos raros debido a la codificación UTF-8. Esto lo solucionamos fácil, recodificando el archivo a codificación latin1 y dándoselo como entrada a doc.

Abrimos una terminal, navegamos hasta la carpeta donde tenemos nuestro fichero html, y escribimos:
recode utf8..latin1 archivo.html

Y ahora convertimos este html a pdf.

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

Etiquetas: , , , ,


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: , , , , ,