Social Icons

domingo, 15 de abril de 2012

Convertir un pdf en otro más ligero con Ghostscript

Introducción

Este post contiene una explicación de éste otro que nos ha parecido interesante. Tiene por objeto indicar un procedimiento aceptablemente fiable ---aunque no totalmente--- para aligerar el peso de ficheros .pdf pesados, bien porque nuestro escaner los genera de esa forma o porque los hemos recibido así en un correo.

Los .pdf pesados pueden ser interesantes para ser usados en  reconocimiento de caracteres (OCR), pero molestan a la hora de ser enviados por correo o bien si tenemos poco espacio en disco o cuenta de correo.

Para llevar a cabo la operación debemos tener instalado en nuestro Ubuntu los paquetes Ghotscript y Gsfonts. Si no estuvieran, ejecutaríamos la siguiente orden de consola:

$ sudo apt-get install ghostscript gsfonts


El mencionado post indica que para aligerar el tamaño del pdf basta ejecutar la siguiente orden, que es una única línea:

$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE 
-dQUIET -dBATCH -sOutputFile=pdfReducido.pdf pdfOriginal.pdf

Donde pdfReducido.pdf será sustituido por el nombre que se le  quiera dar al fichero resultante del proceso, y pdfOriginal.pdf será el nombre del archivo pdf de origen.


Nosotros vamos a explicar aquí qué es lo que hace esta orden.

Opciones de gs (Ghostscript)


Vamos a analizar las siguientes opciones:


-dNOPAUSE 
indica que no habrá pausa después de la página.


-dBATCH 
indica que saldremos después de la última página.


-sDEVICE=<nombredeldispositivo>
sirve para seleccionar el dispositivo y las posibilidades para  nombredeldispositivo son en una cantidad formidable. Para verlas se puede hacer


$ gs --help


una de las posibilidades es pdfwrite que será usada muy frecuentemente.


-sQUIET 
indica que han de ser emitidos un menor número de mensajes. Es equivalente a escribir -q.


-dCompatibilityLevel=<1.x> 
entre las posibilidades para x tenemos:
  • 2 crearemos ficheros pdf que pueden ser abiertos con Acrobat Reader 3 o posterior.
  • crearemos ficheros pdf que pueden ser abiertos con Acrobat Reader 5 o posterior 
-dPDFSETTINGS=<opcion> 
entre las posibilidades de  opcion tenemos las siguientes:
  • /screen selecciona una salida a baja resolución
  • /ebook selecciona una salida a resolución media
  • /prepress 
  • /default selecciona salida destinada a ser útiles en una amplia variedad de usos, posiblemente a expensas de un gran tamaño en el archivo de salida.
Parece que también podría ser usado, en su lugar, -r<res> donde res es la resolución especificada en pixels/pulgada.


-sOutputFile=<nombreFichero>
nombreFichero será el nombre del fichero de salida.


-dAutoRotatePages=<opcion>
entre las posibilidades de  opcion tenemos las siguientes:
  • /PageByPage 
  •  /All  
Esto rotará en modo auto las páginas en horizontal cuando sea necesario.


Referencias


Para aprender más recomendamos la página de Visión General de Ghostscript. Recomendamos muy especialmente visitar dentro de ella la que explicar el uso de ps2pdf y la de uso de Ghostscript. Estas direcciones las hemos encontrado sugeridas en esta página con el título Creating a free PDFWriter using Ghostscript.


En este lugar, un reciente post nos informan de como llevar a cabo esta tarea más cómodamente usando un script hecho al efecto.


Y ... esto es todo por hoy.

1 comentarios:

  1. muy bueno!!, conocia el articulo de origen, y echaba en falta, precisamente todas tus explicaciones. Gracias!!

    ResponderEliminar