J'avais oublié que j'avais posté ce script.:rolleyes:
Depuis comme j'essayais de comprendre et d'exploiter les finesses de "zenity" j'ai ré-écrit ce script différement.
Comme je débutais la dedans le script paraitra sans doute "bavard" à certains mais à moi il me permettait de bien comprendre ce que je faisais. Libre à chacun de le réduire !
Voici ma nouvelle mouture :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# nom du script = compress_pdf
# Rôle = Réduire le poids des fichiers pdf du répertoire "pdf_a_compacter"
# Syntaxe = compress_pdf
#
# Note = Nécessite la création d'un répertoire "pdf_a_compacter" dans lequel on place le fichier pdf dont on veut réduire le poids
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
cd $HOME/pdf_a_compacter # positionne dans le bon rép
nom_fic=`ls *.pdf` # crée une liste des fichiers
zenity --info --width=400 --text="Ce programme sert à réduire la taille des fichiers .pdf du réprtoire pdf_a_compacter"
ls | zenity --width=500 --height=600 --list --title "Contenu du répertoire pdf_a_compacter" --text=" Si c'est OK cliquer sur - Valider -, sinon cliquer sur - Annuler - " --column "Liste des Fichiers"
code=$?
if [ $code -ne 0 ] ; then zenity --info --text="DEMANDE D'ARRÊT DU PROGRAMME PRISE EN COMPTE\n\n Fin du programme"; exit ; fi
# confirmation
zenity --question --width=400 --title "Confirmation de la demande " --text "Ce programme va réduire le poids des fichiers pdf présents dans le répertoire pdf_a_compacter\n\nVoulez vous continuer (oui/non) ?"
code=$?
if [[ $code -ne 0 ]] ; then zenity --info --text="DEMANDE D'ARRÊT DU PROGRAMME PRISE EN COMPTE\n\n Fin du programme"; exit ; fi
# traitement
for fich in $nom_fic
do
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="$fich-new" "$fich"
# gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=new-"$fich" "$fich"
done
ls * -Slh # affiche les fichiers dans l'ordre de taille décroissante après compression
zenity --info --text="OPÉRATION EFFECTUÉE\n\nFin du programme "
Remarque : le programme réduit le poids de TOUS les fichiers placés dans le répertoire "pdf_a_compacter"