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édentes Révision précédente
Prochaine révision
Révision précédente
pdftohtml [Le 25/10/2009, 23:13]
VinsS Corrections orthographique
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 1: Ligne 1:
-{{tag>logiciel ​pdf}}+{{tag>​pdf}}
  
-====== PdfToHtml ====== 
  
 +----
 +
 +====== PdfToHtml ======
  
 pdftohtml est un utilitaire en ligne de commande qui permet, comme son nom l'​indique,​ de convertir un fichier PDF vers un fichier HTML. pdftohtml est un utilitaire en ligne de commande qui permet, comme son nom l'​indique,​ de convertir un fichier PDF vers un fichier HTML.
  
 ===== Installation ===== ===== Installation =====
-[[:​tutoriel:​comment_installer_un_paquet|installez ​le paquet]] **[[apt://​poppler-utils|poppler-utils]]**.+ 
 +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]]**.
  
 Il contient plusieurs utilitaires,​ dont celui qui nous intéresse : **pdftohtml**. Il contient plusieurs utilitaires,​ dont celui qui nous intéresse : **pdftohtml**.
  
-===== Utilisation ​via une interface graphique ===== +Vous trouverez une liste des autres utilitaires disponibles dans poppler-utils sur la page [[:​poppler-utils]] 
-J'ai créé une petite interface graphique grâce à Zenity afin de simplifier son utilisation.+===== Utilisation ​(en ligne de commande) ===== 
 + 
 +La syntaxe générale est la suivante : 
 +<​code>​pdftohtml [options] <​PDF-file>​ <​html-file></​code>​ 
 +Où //<​PDF-file>//​ est à remplacer par l'​emplacement du fichier pdf à convertir,​ 
 +où //<​html-file>//​ est à remplacer par l'​emplacement du fichier html et 
 +où //​[options]//​ est à remplacer par aucune,une ou plusieurs des options. 
 + 
 +Voici la liste des principales options : 
 +  * **-q** : ne pas afficher les messages d'​erreur 
 +  * **-v** : afficher le copyright et les information de version 
 +  * **-p** : échanger les lien .pdf avec .html 
 +  * **-c** : générer des sorties complexes 
 +  * **-i** : ignorer les images 
 +  * **-noframes** : ne pas générer de cadres 
 +  * **-stdout** : utiliser la sortie standard 
 +  * **-xml** : sortie pour des post-traitements XML 
 +  * **-hidden** : forcer l'​extraction de texte caché 
 +  * **-dev** : périphérique de sortie pour Ghostscript 
 +  * **-nomerge** : ne pas merger les paragraphes 
 +  * **-nodrm** : écraser les paramètres DRM du document 
 + 
 +===== Ajout d'une interface graphique ===== 
 + 
 +J'​ai ​([[:​utilisateurs:​mirage59]]) ​créé une petite interface graphique grâce à Zenity afin de simplifier son utilisation.
 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"​ \
- 1 q "dont print any messages ​or errors" \ + 1 q "ne pas afficher les messages ​d'​erreur" \ 
- 1 v "print copyright ​and version ​info " \ + 1 v "afficher le copyright ​et les information de version"​ \ 
- 1 p "exchange ​.pdf links with .html" \ + 1 p "échanger les liens .pdf avec .html" \ 
- 1 c "generate complex output" \ + 1 c "générer des sorties complexes" \ 
- 1 i "ignore ​images"​ \ + 1 i "ignorer les images"​ \ 
- 1 noframes "generate no frames" \ + 1 noframes "ne pas générer de cadres" \ 
- 1 stdout "use standard ​output ​" \ + 1 stdout "utiliser la sortie ​standard"​ \ 
- 1 xml "output for XML post-processing ​" \ + 1 xml "sortie pour des post-traitements XML" \ 
- 1 hidden "force hidden text extraction"​ \ + 1 hidden "forcer l'extraction ​de texte caché" \ 
- 1 dev "output device name for Ghostscript"​ \ + 1 dev "périphérique de sortie pour Ghostscript"​ \ 
- 1 nomerge "do not merge paragraphs ​" \ + 1 nomerge "ne pas merger les paragraphes" \ 
- 1 nodrm "override document ​DRM settings ​"`+ 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 113: 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.
  
-===== Utilisation en ligne de commande ​=====+===== Bug connu de l'​interface graphique ​=====
  
-La syntaxe générale est la suivante : +Ce script ne fonctionne pas si les noms de fichiers contiennent ​des caractères accentués.
-<​code>​ pdftohtml [options] <​PDF-file>​ <​html-file>​ </​code>​ +
-Où //<​PDF-file>//​ est à remplacer par l'​emplacement du fichier pdf à convertir,​ +
-où //<​html-file>//​ est à remplacer par l'​emplacement du fichier html et +
-où //​[options]//​ est à remplacer par aucune,une ou plusieurs ​des options.+
  
-Voici la liste des principales options :  +===== Désinstallation =====
-<​code>​-q</​code>​ don't print any messages or errors +
-<​code>​-v</​code>​ print copyright and version info  +
-<​code>​-p</​code>​ exchange .pdf links with .html +
-<​code>​-c</​code>​ generate complex output +
-<​code>​-i</​code>​ ignore images +
-<​code>​-noframes</​code>​ generate no frames +
-<​code>​-stdout</​code>​ use standard output  +
-<​code>​-xml</​code>​ output for XML post-processing  +
-<​code>​-hidden</​code>​ force hidden text extraction +
-<​code>​-dev</​code>​ output device name for Ghostscript +
-<​code>​-nomerge</​code>​ do not merge paragraphs  +
-<​code>​-nodrm</​code>​ override document DRM settings ​+
  
-===== 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.
 +
 Pour supprimer l'​interface graphique il suffit d'​effacer le fichier "//​zenity_pdftohtml.sh//"​. Pour supprimer l'​interface graphique il suffit d'​effacer le fichier "//​zenity_pdftohtml.sh//"​.
  
 ===== Liens ===== ===== Liens =====
  
-(EN) Site officiel de PDFTOHTML : [[http://​pdftohtml.sourceforge.net/​]]+  * (EN) Site officiel de PDFTOHTML : [[http://​pdftohtml.sourceforge.net/​]]
  
-//Créateur de la page : [[utilisateurs:​mirage59]] 
  
 +----
  
 +//​Contributeurs : [[:​utilisateurs:​mirage59]]//​
  • pdftohtml.1256508818.txt.gz
  • Dernière modification: Le 18/04/2011, 14:57
  • (modification externe)