From 9458dba3512f3f45a49af13c4a8d67ce3fc9f702 Mon Sep 17 00:00:00 2001 From: Progfou Date: Fri, 12 Mar 2010 17:28:50 +0700 Subject: [PATCH] Ajustements sur gpdftk. --- outils/gpdftk | 65 +++++++++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/outils/gpdftk b/outils/gpdftk index 16e3e28..9227258 100755 --- a/outils/gpdftk +++ b/outils/gpdftk @@ -3,10 +3,11 @@ # Copyright ©2009-2010 Agence universitaire de la Francophonie # http://www.auf.org/ # Licence : GNU General Public License, version 3 -# Auteur : Đoàn Mạnh Hà +# Auteurs : Đoàn Mạnh Hà +# Progfou # Création : 2009-06-02 -# Mise à jour : 2010-01-13 -PDFVIEWER="acroread" +# Mise à jour : 2010-03-12 +PDFVIEWER="evince" FILEBROWSER="nautilus" TEMPFILE=`tempfile` @@ -32,12 +33,12 @@ operation_joindre() { operation_extraire_toutes() { echo "Vous avez choisi 'extraire toutes les pages'." - OUT=`zenity --file-selection` + IN=`zenity --file-selection` if [ $? != 0 ]; then return 1; fi - DIR="$OUT".tmp + DIR="$IN".tmp mkdir "$DIR" cd "$DIR" - eval "pdftk \"$OUT\" burst" + eval "pdftk \"$IN\" burst" if [ $? != 0 ]; then zenity --info --text="Erreur pendant l'extraction. Un problème dans les plages spécifiées peut-être ?" return 1 @@ -55,27 +56,22 @@ Merci d'effacer ce répertoire temporaire à la fermeture du navigateur de fichi # extraction de plages de pages d'un fichier PDF ########################################################################### -operation_extraire_plage() { - echo "Extraire une ou plusieurs plages de pages d'un fichier PDF'." +operation_selectionner_plage() { + echo "Vous avez choisi 'sélectionner une ou plusieurs plages de pages'." + IN=`zenity --file-selection` if [ $? != 0 ]; then return 1; fi - OUT=`zenity --file-selection ` + PLAGE=`zenity --entry --text="Pour sélectionner de la page 2 à 6, saisissez comme suit : 2-6"` if [ $? != 0 ]; then return 1; fi - PLAGE=`zenity --entry --text="Pour extraire de la page 1 à 6, vous saissiez comme suit : A1-6 "` - if [ $? != 0 ]; then return 1; fi - DIR="$OUT".tmp - mkdir "$DIR" - cd "$DIR" - eval "pdftk A=\"$OUT\" cat \"$PLAGE\" output mon_pdf_extrait.pdf" + OUT="${IN%.pdf}-selection.pdf" + eval "pdftk \"$IN\" cat \"$PLAGE\" output \"$OUT\"" if [ $? != 0 ]; then - zenity --info --text="Erreur pendant l'extraction. Un problème dans les plages spécifiées peut-être ?" + zenity --info --text="Erreur pendant la sélection. Un problème dans les plages spécifiées peut-être ?" return 1 fi - zenity --info --text="L'extraction est terminée. -Elle a été effectuée dans le répertoire temporaire suivant : - $DIR - -Merci d'effacer ce répertoire temporaire à la fermeture du navigateur de fichiers." - $FILEBROWSER . + zenity --info --text="La sélection est terminée. +Elle a été sauvegardée avec le nom de fichier suivant : + $OUT" + $PDFVIEWER "$OUT" & return 0 } @@ -84,26 +80,21 @@ Merci d'effacer ce répertoire temporaire à la fermeture du navigateur de fichi ########################################################################### operation_rotation() { - echo "Vous avez choisi 'rotation'." - if [ $? != 0 ]; then return 1; fi - OUT=`zenity --file-selection ` + echo "Vous avez choisi 'effectuer une rotation'." + IN=`zenity --file-selection` if [ $? != 0 ]; then return 1; fi - DEGRE=`zenity --entry --text="Pour une rotation 90°, 180°, 270°vous saissiez comme suit : 1-endE ou 1-endS ou 1-endW"` + ROTATION=`zenity --entry --text="Pour une rotation de 90°, 180° ou 270°, saisissez comme suit : 1-endE ou 1-endS ou 1-endW"` if [ $? != 0 ]; then return 1; fi - DIR="$OUT".tmp - mkdir "$DIR" - cd "$DIR" - eval "pdftk A=\"$OUT\" cat \"$DEGRE\" output mon_pdf_rotation.pdf" + OUT="${IN%.pdf}-rotation.pdf" + eval "pdftk \"$IN\" cat \"$ROTATION\" output \"$OUT\"" if [ $? != 0 ]; then zenity --info --text="Erreur pendant la rotation. Un problème dans la saisie peut-être ?" return 1 fi zenity --info --text="La rotation est terminée. -Elle a été effectuée dans le répertoire temporaire suivant : - $DIR - -Merci d'effacer ce répertoire temporaire à la fermeture du navigateur de fichiers." - $PDFVIEWER mon_pdf_rotation.pdf +Elle a été sauvegardée avec le nom de fichier suivant : + $OUT" + $PDFVIEWER "$OUT" & return 0 } @@ -118,7 +109,7 @@ while true; do --column "" --column "Opération" --radiolist \ - "Joindre plusieurs fichiers PDF ensemble" \ - "Extraire toutes les pages d'un fichier PDF" \ - - "Extraire une ou plusieurs plages de pages d'un fichier PDF" \ + - "Sélectionner une ou plusieurs plages de pages d'un fichier PDF" \ - "Effectuer une rotation sur un fichier PDF" \ > "$TEMPFILE" if [ $? = 1 ]; then exit 0; fi @@ -126,7 +117,7 @@ while true; do case "`cat "$TEMPFILE"`" in "Joindre"*) if operation_joindre; then exit 0; fi ;; "Extraire toutes"*) if operation_extraire_toutes; then exit 0; fi ;; - *"plage"*) if operation_extraire_plage; then exit 0; fi ;; + *"plage"*) if operation_selectionner_plage; then exit 0; fi ;; *"rotation"*) if operation_rotation; then exit 0; fi ;; "") zenity --info --text "Vous devez choisir une opération." ;; *) echo "Erreur : cas non géré." ; exit 1 ;; -- 1.7.10.4