{{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]]//