miércoles, 22 de agosto de 2012

Reduciendo tamaño de PDFs con UBUNTU

Hoy se me presentó una situación en la que debía compartir con varias personas unos cuantos archivos PDF a través de Google Drive.

El detalle estaba en que cada archivo pesaba en promedio 250 Mb porque se encontraban en alta resolución. Sin embargo, para mis propósitos bastaba con que se leyera correctamente la información y se mostraran bien las imágenes.

Además, necesitaba poder colocar una marca de agua en todas las páginas de los archivos PDF. Por supuesto que no era una opción abrir los archivos y agregar en cada página una marca de agua.

Entonces, utilicé el comando GS (acrónimo de "Ghost Script") que es un programa muy poderoso para tareas de impresión en Linux.

El caso que voy a ilustrar, se trataba de  un archivo PDF que pesaba 262.2 Mb y luego de utilizar el comando y aplicarle una marca de agua a todas las páginas el tamaño final del archivo fué de 14.2 Mb!!!

Esto fué lo que hice:

  1. Instalé los programas necesarios desde la cónsola:
    # sudo aptitude install cups-pdf ghostscript
  2. Ejecuté el comando "gs" con los parámetros apropiados:
    # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Reducido.pdf Grande.pdf
  3. Utilicé el programa "JPDF Tweak 1.1" para aplicar la marca de agua a todas las páginas de cada archivo PDF
  4. Voilá! ... el resultado fué un archivo llamado "Reducido.pdf" cuyo tamaño fué de 14.2 Mb!
Con este procedimiento, ahora puedo disminuir el tamaño de cualquier archivo PDF.

Pero luego se me presentó la necesidad de procesar varios archivos. Entonces, decidí crear un script bash para ser ejecutado desde la cónsola.

Ubicado dentro del directorio que contenía todos los archivos PDF que quería procesar, estos fueron los pasos que seguí:

1. Crear el directorio "salida" para guardar los PDFs resultantes:
$mkdir salida

2. Crear y editar el archivo SimplificarPDFS.sh, incluyendo las siguientes líneas:
$vim SimplificarPDFS.sh

 #!/bin/bash  
 FILES="*.pdf"  
 for f in $FILES  
 do  
  echo "Procesando el archivo $f ..."  
  gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=./salida/$f $f  
  echo "Finalizando procesamiento del archivo $f ..."  
 done  

3. Aplicar permiso de ejecución:
chmod +x SimplificarPDFS.sh

4. Para ejecutar el script:
./SimplificarPDFS.sh

Todos los archivos simplificados serán almacenados en el directorio "salida".

Espero sea de utilidad.

Éxitos!

REFERENCIAS

  1. http://www.ubuntugeek.com/ubuntu-tiphowto-reduce-adobe-acrobat-file-size-from-command-line.html
  2. http://reformedmusings.wordpress.com/2011/02/12/reducing-pdf-file-sizes-in-linux/
  3. http://jpdftweak.sourceforge.net/

martes, 14 de agosto de 2012

Instalar HUAWEI E353 en Linux Ubuntu Lucid 10.04



Con el propósito de tener Internet en cualquier lugar de mi ciudad, esta semana hemos contratado el servicio BAM de Digitel, el cual viene con un modem USB marca y modelo HUAWEI E353.

Por supuesto, como es costumbre en Linux, es necesario aprender algo más cuando queremos instalar nuevos jugueticos en el PC. En esta publicación aprovecho para explicar cómo instalar este modem HUAWEI E353 en Linux Ubuntu Lucid 10.04, ya que luego de leer la escasa información que trae la documentación para instalarlo en Linux, tuve que investigar un par de días en Internet antes de verlo funcionar en mi laptop.

Sin embargo, aprovecho para indicar que la instalación en Linux Ubuntu Precise 12.04 es directa. Esto quiere decir que el HUAWEI E353 es detectado "out of the box" y no es necesario instalar nada.

Volviendo al tema y luego de varias lecturas, en resumidas cuentas la instalación no pasa de 4 o 5 pasos. Sin embargo, el truco principal es que hay que disponer de tres paquetes (programas) antes de realizar la instalación.

Acá van los pasos que seguí para la instalación:

  1. Instalar programas preliminares:
    # aptitude install usb-modeswitch ivman build-essential
  2. Copiar directorio del instalador para linux que viene en el HUAWEI E353:
    # cd /root
    # cp -r /media/DIGITEL\ 3G/ .
    # cd DIGITEL\ 3G/
  3. Ejecutar el programa de instalación para linux:
    # bash ./Linux/install
  4. Se iniciará la compilación del módulo y habilitación en el kernel.
  5. Al finalizar, se desplegará una ventana emergente en la que se podrá conectar y desconectar a través del modem HUAWEI E353.
Con estos pasos, cada vez que conecto el modem USB a mi laptop, entonces aparece la ventana del programa para conectarme a Internet.

Espero sea de utilidad.

Éxitos!

José Gregorio.