Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
pdftohtml [Le 27/10/2009, 22:53] 213.95.41.13 |
pdftohtml [Le 28/09/2022, 20:53] (Version actuelle) Amiralgaby [Ajout d'une interface graphique] correction code shell repéré grâce à wiki-corrector |
||
---|---|---|---|
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 publique générale GNU (GPL) | + | #sélection du pdf a convertir |
- | Pour plus d'informations visiter : | + | fichierEntree=$(zenity --file-selection --title="Sélectionnez le fichier PDF à convertir") |
- | http://www.gnu.org/licenses/gpl.html \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. | ||