Una manera sencilla de reducir el tamaño de un documento PDF es utilizando Ghostscript, una suite de software con licencia GNU GPL, que funciona como un interprete de lenguajes PostScript y Portable Document Format (PDF), estando disponible en los repositorios de todas las distribuciones GNU/Linux.
Algo que puede ser bastante útil con el típico PDF hecho a partir de imágenes escaneadas, que puede llegar a alcanzar un tamaño más que considerable (como el me acaba de pasar mi novia vía USB con más de 470 MB!, y de ahí surgió este post amigos…) haciendo muy difícil su envío por mail, además de ocupar espacio a lo loco en nuestro disco duro.
Ya habíamos visto en su día como hacer esto con ShrinkPDF, que es un script en bash basado en GhostScript que funciona decentemente a la hora de comprimir PDFs, pero como una de las características del buen linuxero es la curiosidad, el ansia por saber más y probar cosas nuevas, vamos a aprender a hacerlo con el propio GhostScript, bebiendo de la fuente directamente por así decirlo, vía terminal y con diferentes grados de resolución para alterar lo menos posible la calidad de su contenido.
Una sola linea de comando basta!:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=destino.pdf origen.pdf
Donde sustituiremos “origen” por el nombre de nuestro archivo PDF inicial, y “destino” por el nombre que prefiráis para el nuevo archivo PDF que vamos a crear.
Ahora quiero que os fijéis en el parámetro:
-dPDFSETTINGS=
porque introduciendo diferentes valores (sería reemplazar /screen en el ejemplo anterior) modificamos la calidad, tamaño y resolución del archivo de salida:
- dPDFSETTINGS=/screen (72 dpi, es el que mas reduce pero por contra ofrece la peor calidad)
- dPDFSETTINGS=/ebook (150 dpi, calidad media)
- dPDFSETTINGS=/printer (300 dpi, alta calidad)
- dPDFSETTINGS=/prepress (300 dpi, alta calidad preservando el color)
- dPDFSETTINGS=/default (según el manual es casi idéntico a screen, aunque en mis pruebas la calidad ha sido ligeramente superior)
En mi caso los mejores resultados a la hora de reducir el tamaño de un PDF al máximo manteniendo una cierta calidad para su lectura, lo he obtenido utilizando los parámetros /ebook y /printer (con /screen si el archivo tiene imágenes incrustadas la definición de estas baja mucho).
En el caso que os comentaba antes he conseguido reducir ese archivo de casi 500 MB a valores que oscilan entre 31-57 MB. En otro tipo de archivos más pequeños la reducción ha sido mucho menor pero todavía significativa (entre un 30-65% dependiendo del parámetro ejecutado).
Imagen: Marcovdz (CC BY-NC-ND 2.0)
Fuente: lamiradadelreplicante