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 : Installez le paquet 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] <PDF-file> <html-file>
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 (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".
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 supprimer le paquet poppler-utils.
Pour supprimer l'interface graphique il suffit d'effacer le fichier "zenity_pdftohtml.sh".