Ceci est une ancienne révision du document !



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.

Installez le paquet poppler-utils.

Il contient plusieurs utilitaires, dont celui qui nous intéresse : pdftohtml. (FIXME un lien vers les autres programmes inclus ?)

La syntaxe générale est la suivante :

pdftohtml [options] <PDF-file> <html-file>

<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

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".

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.

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".


Contributeurs : mirage59

  • pdftohtml.1287241199.txt.gz
  • Dernière modification: Le 18/04/2011, 14:57
  • (modification externe)