#!/bin/bash
# lastact: arturo@2024-02-13
# desc: Comprimimos los PDFs recibidos como parámetro
# Obtenemos el número de parámetros recibidos: Desde el explorador de archivos %F son el número de rutas absolutas de los archivos seleccionados
FICHFUNCS="/usr/bin/vx-funcs-bash"
[ -f "${FICHFUNCS}" ] && . "${FICHFUNCS}" "null"

if (( ${#} < 1 )) ; then
    TITULO="Error en la llamada al programa"
    TEXTO="Debes Introducir al menos un parámetro: la ruta de un archivo PDF"
    vx-mensaje_y_salir "${TITULO}" "${TEXTO}" "1" "info" "salir"
fi

RESULTADO=""
echo "#Va a empezar a comprimirse los archivos PDFs seleccionados ..."
until [ -z "$1" ]
do
    echo "#Archivo: $1"
    
    DIRECTORIOBASE="$(dirname "$1")"
    #if echo $1 | grep "[.][pP][dD][fF]" &> /dev/null ; then
    ARCHIVO="$(echo "${1}" | awk -F '/' '{ print $NF }')"
    NOMBRE="$(echo "${1}" | awk -F '/' '{ print $NF }' | awk -F'[.][pP][dD][fF]' '{ print $1 }')"
    
    echo "#Vamos a comprimir el PDF ${1} ...\nEl archivo resultante comprimido se llamará ${NOMBRE}-comp.pdf ..."
    # dpkg -S /usr/bin/gs : ghostscript (se requiere ese paquete para esta utilidad)
    if gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH \
    -sOutputFile="$DIRECTORIOBASE/$NOMBRE-comp.pdf" "$1" ; then
        RESULTADO="$RESULTADO\n$ARCHIVO  -->  $NOMBRE-comp.pdf"
    fi
    shift
done
echo "#Ok!!! Como resultado se han obtenido los siguientes Archivos: $RESULTADO"

exit 0
