Ajustements sur gpdftk.
authorProgfou <jean-christophe.andre@auf.org>
Fri, 12 Mar 2010 10:28:50 +0000 (17:28 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Fri, 12 Mar 2010 10:28:50 +0000 (17:28 +0700)
outils/gpdftk

index 16e3e28..9227258 100755 (executable)
@@ -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à <doan.manh.ha@auf.org>
+# Auteurs : Đoàn Mạnh Hà <doan.manh.ha@auf.org>
+#           Progfou <jean-christophe.andre@auf.org>
 # 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 ;;