ayuda con script

Imagen de kerberosv5
0 puntos

Hola!
Soy nuevo en el foro y en linux en general, estoy usando Ubuntu 9.10 desde hace aprox. 6 meses
Mi duda es la siguiente:
Encontre en un blog dos operaciones sencillas para optimizar pdf's (funciona excelente!, reduce bastante el tamaño de los archivos creados en alta calidad)

# pasamos el archivo a postscript (.ps), optimizándolo
/usr/bin/pdf2ps -dUseFlateCompression=true -dOptimize=true -dPDFSETTINGS=/screen -dEmbedAllFonts=true final.pdf final.ps
# volvemos a pasar el archivo a PDF.
/usr/bin/ps2pdf14 final.ps final.pdf

me preguntaba si habría alguna forma de crear un script (o batch diría en windows) que me permitiera hacer esto en un solo paso, un solo comando al que pudiera pasarle el nombre del archivo que quiero optimizar.

ej. "optimizar nombre_de_archivo_pdf"

es esto posible?
estuve investigando en inet., hacer un script no parece complicado (al menos para realizar tareas en secuencia como lo que pido) lo que no encontre es la manera de poder pasarle el nombre del archivo al comando cuando lo ejecuto.

Se entiende? es un delirio?, se puede hacer esto?

muchas gracias de antemano por cualquier respuesta.

saludos!

Imagen de juanramon
+1
0
-1

Aqui te dejo el script.
Copias el texto del script en un documento nuevo (en gedit p.e.) lo guardas como root en /usr/local/bin. Le das permiso de ejecucion. Le haces un enlace a tu HOME/.gnom2/nautilus-scripts/
Y a partir de entonces podrás con el boton derecho del raton llamar al script desde el escritorio.
Verás que no elimina el archivo original sino que crea uno nuevo con el sufijo "-optimizado". Eso se puede cambiar.

De todos modos no se que tal te va a ti esa optimizacion, pero revisa los paramentros por que lo que es a mi, me duplica el peso de mis pdf

#!/bin/bash

SUFIX="-optimizado"

for archivo in "$@"
do
    if [ -e "$archivo" ] ; then
        DIRIN=$(dirname "$archivo")
        BASEIN=$(basename "$archivo")
        NAMEFILE=$(echo -e "$BASEIN" | sed 's/.pdf$//')
        BASEOUT=$(echo -e "$BASEIN" | sed 's/.pdf$/.ps/')

        echo "Convirtiendo: $BASEIN"

        /usr/bin/pdf2ps -dUseFlateCompression=true -dOptimize=true -dPDFSETTINGS=/screen -dEmbedAllFonts=true "$DIRIN/$BASEIN" "/tmp/$BASEOUT" ;
        /usr/bin/ps2pdf14 "/tmp/$BASEOUT" "$DIRIN/$NAMEFILE$SUFIX.pdf" ;
        rm "/tmp/$BASEOUT" ;
    fi
done

 

 

Salud y alegria

------------------------------------------------------------------------------------

Juanramon

--------------------------------------------------------------------------------

+1
0
-1

 

 

Salud y alegria

------------------------------------------------------------------------------------

Juanramon

--------------------------------------------------------------------------------

Imagen de kerberosv5
+1
0
-1

Muchas gracias!, funcionó de 10!
mucho mejor de lo que yo esperaba, integrado al nautilus!
lo acabo d probar con un pdf de 8 megas y lo bajo a 1, la verdad lo encuentro muy util.

tengo que ponerme a invesigar al respecto, la verdad es que no entiendo ni dos lineas del código.

te agradezco nuevamente.

saludos.

+1
0
-1