{{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 :
pdftohtml [options]
Où //// est à remplacer par l'emplacement du fichier pdf à convertir,
où //// 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).
#!/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
Enregistrez ensuite ce fichier avec une extension "//.sh//". je vous conseille de l'appeler : **zenity_pdftohtml.sh** et de le sauvegarder dans votre répertoire personnel (**HOME**)
Ouvrez ensuite le terminal et tapez la ligne suivante qui permettra au script de s'exécuter :
chmod u+x zenity_pdftohtml.sh
Vous pouvez ensuite lancer cette interface graphique en exécutant la commande :
sh zenity_pdftohtml.sh
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]]//