22 enero 2024

Shrinkpdf: reduce archivos PDF con Ghostscript

Si el vaso no está limpio, lo que en él derrames se corromperá.
Quintus Horatius Flaccus, poeta latino (65 A.C.- 8 A.C.)
Un contenedor simple de Ghostscript para reducir archivos .PDF (como reducir el tamaño de archivo) en Slackware Linux (o en cualquier otro Linux). Inspirado en un código que encontré [lo dice aklomp] en un script Python de OpenOffice (creo). El script alimenta un PDF a través de Ghostscript, que realiza una recompresión con pérdida mediante métodos como la reducción de resolución de las imágenes a 72 ppp. El resultado debería ser (pero no siempre es) un archivo mucho más pequeño.

Descarga el script y hacelo ejecutable:

vampii@lomaw:[~/Downloads]$ chmod +x shrinkpdf.sh

Si lo ejecutas sin argumentos, imprime un resumen de uso. Si lo ejecutas con un solo argumento (el nombre del .PDF que se va a reducir), escribe el resultado en stdout:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh in.pdf > out.pdf

Puede proporcionar un archivo de salida con la opción -o:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -o out.pdf in.pdf

Y una resolución de salida en DPI (por defecto es 72 DPI) con la opción -r:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -r 90 -o out.pdf in.pdf

La conversión de color a escala de grises se puede habilitar con la bandera -g. En ocasiones, esto puede reducir aún más el tamaño de salida:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -g -r 90 -o out.pdf in.pdf

Debido a las limitaciones del manejo de opciones del shell, las opciones siempre deben aparecer antes del archivo de entrada.

Si tanto la entrada como la salida son archivos normales, el script comprueba si la salida es realmente más pequeña. De lo contrario, escribe un mensaje stderr y copia la entrada en la salida.

Codigo disponible en:
https://github.com/aklomp/shrinkpdf/

Que te diviertas!

No hay comentarios:

Publicar un comentario