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 05/07/2012, 12:53] (Version actuelle) – [Installation] lien interne poppler-utils mydjey
Ligne 1: Ligne 1:
 +{{tag>pdf}}
  
 +
 +----
 +
 +====== 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.
 +
 +===== 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]]**.
 +
 +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) =====
 +
 +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).
 +<code>
 +#!/bin/bash
 +##########################################################
 +##            Interface Graphique pour pdftohtml        ##
 +##########################################################
 +#####                     mirage59                    ####
 +##########################################################
 +############### Script sous licence GPL V3 ###############
 +##########################################################
 +
 +#affichage informatif
 +zenity  --warning --width=400 \
 + --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."
 +
 +#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 2;;
 +  -1)
 + exit 1;;
 +esac
 +
 +#checklist pour les différentes options
 +listeOptions=$(zenity  --list --checklist --width=450 --height=400 --separator=" -" \
 + --title="Cochez les options souhaiter pour la conversion"\
 + --column="Cochez" --column="Options" --column="Descriptions" \
 + 1 q "ne pas afficher les messages d'erreur" \
 + 1 v "afficher le copyright et les information de version" \
 + 1 p "échanger les liens .pdf avec .html" \
 + 1 c "générer des sorties complexes" \
 + 1 i "ignorer les images" \
 + 1 noframes "ne pas générer de cadres" \
 + 1 stdout "utiliser la sortie standard" \
 + 1 xml "sortie pour des post-traitements XML" \
 + 1 hidden "forcer l'extraction de texte caché" \
 + 1 dev "périphérique de sortie pour Ghostscript" \
 + 1 nomerge "ne pas merger les paragraphes" \
 + 1 nodrm "écraser les paramètres DRM du document")
 +
 +options=" -"${listeOptions}
 +
 +#sélection du dossier de sortie
 +dossierSortie=$(zenity --file-selection --directory --title="Sélectionnez le dossier où seront sauvegardé vos fichiers HTML")
 +
 +case $? in
 +  0)
 + #echo ${dossierSortie}
 + ;;
 +  1)
 + echo "Aucun dossier sélectionné.";
 + exit 2;;
 +  -1)
 + exit 1;;
 +esac
 +
 +#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?")
 +case $? in
 +  0)
 +    #echo ${fichierSortie}
 + ;;
 +  1)
 + echo "Aucun fichier sélectionné.";
 + exit 2;;
 +  -1)
 + exit 1;;
 +esac
 +
 +#on génère le script que l'on lancera
 +echo "#!/bin/bash">/tmp/ligneCmdPdftohtml.sh
 +echo "pdftohtml${options} \"${fichierEntree}\" \"${dossierSortie}/${fichierSortie}.html\"" >>/tmp/ligneCmdPdftohtml.sh
 +#le script pourra s'exécuter en tant que programme
 +chmod u+x /tmp/ligneCmdPdftohtml.sh
 +#lancement du script
 +sh /tmp/ligneCmdPdftohtml.sh 2>/dev/null
 +
 +#le script s'est bien execute ?
 +if test $? -eq 0
 +then
 + #oui,on supprime le script
 + 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>
 +
 +Enregistrez ensuite ce fichier avec une extension "//.sh//". <note important>je vous conseille de l'appeler : **zenity_pdftohtml.sh** et de le sauvegarder dans votre répertoire personnel (**HOME**)</note>
 +Ouvrez ensuite le terminal et tapez la ligne suivante qui permettra au script de s'exécuter :
 +<code> chmod u+x zenity_pdftohtml.sh </code>
 +
 +Vous pouvez ensuite lancer cette interface graphique en exécutant la commande : 
 +<code>sh zenity_pdftohtml.sh</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 =====
 +
 +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//".
 +
 +===== Liens =====
 +
 +  * (EN) Site officiel de PDFTOHTML : [[http://pdftohtml.sourceforge.net/]]
 +
 +
 +----
 +
 +//Contributeurs : [[:utilisateurs:mirage59]]//