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, 08:23] – Mise en forme et en français. 213.95.41.13pdftohtml [Le 28/09/2022, 20:53] (Version actuelle) – [Ajout d'une interface graphique] correction code shell repéré grâce à wiki-corrector Amiralgaby
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 =====
 +
 +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**. 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 =====
-  * **-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+
  
 +Pour désinstaller pdftohtml il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer le paquet ]] poppler-utils.
  
-===== Désinstallation ===== 
-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]]//