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:
- Instalé los programas necesarios desde la cónsola:
# sudo aptitude install cups-pdf ghostscript - 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 - Utilicé el programa "JPDF Tweak 1.1" para aplicar la marca de agua a todas las páginas de cada archivo PDF
- Voilá! ... el resultado fué un archivo llamado "Reducido.pdf" cuyo tamaño fué de 14.2 Mb!
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
$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
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
./SimplificarPDFS.sh
Todos los archivos simplificados serán almacenados en el directorio "salida".
Espero sea de utilidad.
Éxitos!
REFERENCIAS
- http://www.ubuntugeek.com/ubuntu-tiphowto-reduce-adobe-acrobat-file-size-from-command-line.html
- http://reformedmusings.wordpress.com/2011/02/12/reducing-pdf-file-sizes-in-linux/
- http://jpdftweak.sourceforge.net/