Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pdftohtml [Le 26/10/2009, 22:26] – modifs de forme + FIXME _Enchainedpdftohtml [Le 28/09/2022, 20:53] (Version actuelle) – [Ajout d'une interface graphique] correction code shell repéré grâce à wiki-corrector Amiralgaby
Ligne 10: Ligne 10:
 ===== Installation ===== ===== Installation =====
  
 +Poppler-utils est normalement installé par défaut toutefois si il ne l'est pas :
 [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://poppler-utils|poppler-utils]]**. [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://poppler-utils|poppler-utils]]**.
  
-Il contient plusieurs utilitaires, dont celui qui nous intéresse : **pdftohtml**. (FIXME un lien vers les autres programmes inclus ?)+Il contient plusieurs utilitaires, dont celui qui nous intéresse : **pdftohtml**.
  
 +Vous trouverez une liste des autres utilitaires disponibles dans poppler-utils sur la page [[:poppler-utils]]
 ===== Utilisation (en ligne de commande) ===== ===== Utilisation (en ligne de commande) =====
  
Ligne 22: Ligne 24:
 où //[options]// est à remplacer par aucune,une ou plusieurs des options. où //[options]// est à remplacer par aucune,une ou plusieurs des options.
  
-Voici la liste des principales options : +Voici la liste des principales options :
   * **-q** : ne pas afficher les messages d'erreur   * **-q** : ne pas afficher les messages d'erreur
   * **-v** : afficher le copyright et les information de version   * **-v** : afficher le copyright et les information de version
Ligne 41: Ligne 43:
 Copiez le code ci-dessous dans un éditeur quelconque (ex : gedit). Copiez le code ci-dessous dans un éditeur quelconque (ex : gedit).
 <code> <code>
-#!/bin/sh+#!/bin/bash 
 +########################################################## 
 +##            Interface Graphique pour pdftohtml        ## 
 +########################################################## 
 +#####                     mirage59                    #### 
 +########################################################## 
 +############### Script sous licence GPL V3 ############### 
 +##########################################################
  
-#affichage de la licence+#affichage informatif
 zenity  --warning --width=400 \ zenity  --warning --width=400 \
  --title="Interface graphique pour pdftohtml" \  --title="Interface graphique pour pdftohtml" \
  --text="Ce programme est une interface graphique pour l'utilitaire 'pdftohtml' qui permet la conversion d'un fichier PDF en fichier(s) HTML."  --text="Ce programme est une interface graphique pour l'utilitaire 'pdftohtml' qui permet la conversion d'un fichier PDF en fichier(s) HTML."
  
-boiteLicence=`zenity --question --width=350 --height=150 --title="Message de l'auteur (mirage59)" --text="<b>Programme sous licence Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France  +#sélection du pdf a convertir 
-Pour plus d'informations visiter :  +fichierEntree=$(zenity --file-selection --title="Sélectionnez le fichier PDF à convertir")
-http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ \n</b>"`+
  
 case $? in case $? in
   0)   0)
-    #l'user a validé la licence+    #echo $fichierEntree
  ;;  ;;
   1)   1)
-    #annuler;; +    #echo "Aucun fichier sélectionné.";; 
- exit;;+ exit 2;;
   -1)   -1)
-    #fermer + exit 1;;
- exit;; +
-esac +
- +
- +
-#sélection du pdf a convertir +
-fichierEntree=`zenity --file-selection --title="Sélectionnez le fichier PDF à convertir"+
- +
-case $? in +
-  0) +
-    echo $fichierEntree;; +
-  1+
-    #echo "Aucun fichier sélectionné.";; +
- exit;; +
-  -1) +
- exit;;+
 esac esac
  
 #checklist pour les différentes options #checklist pour les différentes options
-options=`zenity  --list --checklist --width=450 --height=400 --separator=" -" \+listeOptions=$(zenity  --list --checklist --width=450 --height=400 --separator=" -" \
  --title="Cochez les options souhaiter pour la conversion"\  --title="Cochez les options souhaiter pour la conversion"\
  --column="Cochez" --column="Options" --column="Descriptions" \  --column="Cochez" --column="Options" --column="Descriptions" \
Ligne 93: Ligne 86:
  1 dev "périphérique de sortie pour Ghostscript" \  1 dev "périphérique de sortie pour Ghostscript" \
  1 nomerge "ne pas merger les paragraphes" \  1 nomerge "ne pas merger les paragraphes" \
- 1 nodrm "écraser les paramètres DRM du document"`+ 1 nodrm "écraser les paramètres DRM du document"
 + 
 +options=" -"${listeOptions}
  
 #sélection du dossier de sortie #sélection du dossier de sortie
-dossierSortie=`zenity --file-selection --directory --title="Sélectionnez le dossier où seront sauvegardé vos fichiers HTML"`+dossierSortie=$(zenity --file-selection --directory --title="Sélectionnez le dossier où seront sauvegardé vos fichiers HTML")
  
 case $? in case $? in
   0)   0)
- echo "$dossierSortie";;+ #echo ${dossierSortie
 + ;;
   1)   1)
  echo "Aucun dossier sélectionné.";  echo "Aucun dossier sélectionné.";
- exit;;+ exit 2;;
   -1)   -1)
- exit;;+ exit 1;;
 esac esac
  
 #saisie du nom du fichier html #saisie du nom du fichier html
-fichierSortie=`zenity --entry --title="Choix du nom du fichier html" --text="Quel nom voulez-vous donner à vos fichiers HTML?"`+fichierSortie=$(zenity --entry --title="Choix du nom du fichier html" --text="Quel nom voulez-vous donner à vos fichiers HTML?")
 case $? in case $? in
   0)   0)
-    echo "$fichierSortie";;+    #echo ${fichierSortie
 + ;;
   1)   1)
  echo "Aucun fichier sélectionné.";  echo "Aucun fichier sélectionné.";
- exit;;+ exit 2;;
   -1)   -1)
- exit;;+ exit 1;;
 esac esac
  
 #on génère le script que l'on lancera #on génère le script que l'on lancera
-echo "#!/bin/sh \n">/tmp/ligneCmdPdftohtml.sh +echo "#!/bin/bash">/tmp/ligneCmdPdftohtml.sh 
-echo "pdftohtml -$options $fichierEntree $dossierSortie/$fichierSortie.html" >>/tmp/ligneCmdPdftohtml.sh+echo "pdftohtml${options} \"${fichierEntree}\" \"${dossierSortie}/${fichierSortie}.html\"" >>/tmp/ligneCmdPdftohtml.sh
 #le script pourra s'exécuter en tant que programme #le script pourra s'exécuter en tant que programme
 chmod u+x /tmp/ligneCmdPdftohtml.sh chmod u+x /tmp/ligneCmdPdftohtml.sh
 #lancement du script #lancement du script
-sh /tmp/ligneCmdPdftohtml.sh+sh /tmp/ligneCmdPdftohtml.sh 2>/dev/null
  
-#on supprime le script +#le script s'est bien execute ? 
-rm -f /tmp/ligneCmdPdftohtml.sh +if test $? -eq 0 
- +then 
-#ouverture du dossier de sortie dans nautilus + #oui,on supprime le script 
-nautilus $dossierSortie+ rm -f /tmp/ligneCmdPdftohtml.sh 
 + #ouverture du dossier de sortie dans nautilus 
 + nautilus "$dossierSortie
 +else 
 + #non 
 + echo "Une erreur s'est produite" 
 + exit 1  
 +fi
 </code> </code>
  
Ligne 139: Ligne 143:
 <code> chmod u+x zenity_pdftohtml.sh </code> <code> chmod u+x zenity_pdftohtml.sh </code>
  
-Vous pouvez ensuite lancer cette interface graphique en exécutant la commande : +Vous pouvez ensuite lancer cette interface graphique en exécutant la commande :
 <code>sh zenity_pdftohtml.sh</code> <code>sh zenity_pdftohtml.sh</code>
 ou en créer un raccourci personnalisé contenant le même code. ou en créer un raccourci personnalisé contenant le même code.
 +
 +===== Bug connu de l'interface graphique =====
 +
 +Ce script ne fonctionne pas si les noms de fichiers contiennent des caractères accentués.
  
 ===== Désinstallation ===== ===== Désinstallation =====
 +
 Pour désinstaller pdftohtml il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer le paquet ]] poppler-utils. Pour désinstaller pdftohtml il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer le paquet ]] poppler-utils.