Ir al contenido principal

Comprimir archivos PDF desde tu Mac con la terminal

Después de probar una infinidad de programas de escritorio para comprimir archivos PDF y en su mayoría de pago, ninguno me convencía o cumplía con mis necesidades, así que llegué a la siguiente solución; utilizar Ghostscript para comprimir archivos PDF muy pesados.

Y...  ¿Qué es Ghostscript?

Ghostscript es un interprete de PostScript, archivos PDF y una librería de gráficos, disponible bajo la licencia de GNU GPL Affero license la cual nos permite usarla sin costo alguno.

Para instalar Ghostscript en Mac es muy simple, la instalación se puede realizar utilizando el instalador de paquetes Homebrew, para esto abrimos una terminal y escribimos el siguiente comando:

brew install ghostscript

Una vez instalado Ghostscript ya es posible comprimir archivos PDF, ahora escribimos en la terminal:

gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/screen -dCompatibilityLevel=1.1 -sOutputFile=miarchivocomprimido.pdf miarchivooriginal.pdf

Dependiendo del tamaño del archivo PDF original, este proceso puede demorar algunos segundos o minutos, una vez termine, como resultado tendremos un archivo PDF comprimido y con calidad de impresión para la web.

Listo! pero... recordar un comando con tantos parámetros puede ser algo difícil y poco productivo, para automatizar este proceso lo recomendable es generar una función que pueda hacer esta tarea mucho más fácil, para generar la función abrimos la terminal y editamos el archivo ~/.bash_profile, para esto escribimos:

sudo vi ~/.bash_profile

Una vez en modo edición, hasta el final del contenido del archivo, creamos la función comprimepdf() de la siguiente manera:

comprimepdf(){
      gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/${3:-"screen"} -dCompatibilityLevel=1.1 -sOutputFile=$2 $1}

Ahora, para probar que la función esta trabajando de forma correcta, salimos del mode edición del archivo ~/.bash_profile y escribimos en la terminal el siguiente comando para poder recargar el shell y tener disponible la función.

source ~/.bash_profile 

Ahora si! ejecutamos la función:

comprimepdf mi-archivo-original.pdf mi-archivo-comprimido.pdf

Comentarios

Entradas más populares de este blog

Saber la versión de Centos

A veces necesitamos saber la versión de la distro que usamos.. es por eso que quiero compartir un comando muy sencillo pero verdaderamente útil. Si lo que necesitamos es conocer la versión de nuestro CentOS, solo tenemos que abrir la terminal y escribir el siguiente comando:  cat /etc/redhat-release Como resultado obtendremos la versión que usamos de CentOS, por ejemplo en mi caso me devuelve el siguiente resultado: " CentOS release 6.3 (Final)" Espero les sea de mucha ayuda este simple comando.

Error Parse error: syntax error, unexpected $end en CentOS 6.3

Hoy el último día del 2012 me encontraba programando una aplicación web con soporte para iniciar sesión con Google Apps, Gmail, Facebook y Twitter con PHP, pero me encontre con un problema que me quito un par de horas resolver ya que en el navegador solo aparecia el tan común error 500, revisando un poco más a fondo en los Logs de Apache encontre un poco más a detalle el error me mostraba lo siguiente: Error Parse error: syntax error, unexpected $end in /var/www/html/miproyecto/index.php EL error indica que hay un error de sintaxis al final del código, pero revisando mi código veo que todo se encuentra bien, entonces porque el error???, muy simple... me encuentro usando CentOS como distro y por default esta distro se encuentra configurada para entornos productivos, así que para corregir el problema es muy sencillo (de verdad es muy sencillo), solo hay que modificar una directiva en el archivo php.ini para corregir el problema. La directiva que hay que modificar es short_...