Présentation
Ce plugin génère des fichiers PDF à partir d’un squelette défini au format HTML 4.
Il vous permet donc de créer un PDF réellement sur mesure sans d’autre compétence que de connaître le HTML 4 et CSS.
Le plugin utilise la classe HTML2PDF (qui elle même utilise grandement TCPDF. Vous pouvez vous rendre sur le site de HTML2PDF pour un aperçu des possibilités (notamment la page des exemples ).
Pré-requis
PHP 5 est requis ! (sérieusement, il y a encore des gens avec PHP4 ?!) pour un fonctionnement optimal. Cependant, vous pouvez télécharger séparément une version plus ancienne de HTML2PDF, compatible avec PHP4 et remplacer le répertoire.
Téléchargement
- A télécharger sur la zone via SVN
- Ou téléchargement du ZIP généré automatiquement toutes les heures.
Le plugin est relativement volumineux parce qu’il intègre un certain nombre de polices de caractères utilisées pour la génération des PDF
Utilisation
Pour utiliser ce plugin, outre son installation des plus classique (téléchargement, installation dans le répertoire plugins/ et activation via l’interface privée), une étape suffit.
Ajoutez un lien hypertexte vers le squelette du plugin, typiquement dans votre squelette article.html. Voici à quoi doit ressembler ce lien pour un article :
[<a href="[(#URL_PAGE{spipdf}
|parametre_url{spipdf,spipdf_article}
|parametre_url{id_article,#ID_ARTICLE}
|parametre_url{nom_fichier,article_#ID_ARTICLE})]">
télécharger l'article au format PDF</a>]
Mise en page personnalisée
C’est tout l’intérêt du plugin : permettre une mise en page personnalisée sans connaître le PHP. Pour obtenir un PDF sur mesure, vous pouvez :
- soit modifier le squelette qui se trouve dans le répertoire du plugin : spipdf_article.html
- soir créer votre propre squelette et modifier la balise #URL_PAGE pour qu’elle appelle bien votre squelette à la place de spipdf_article (remplacer spipdf_article par le nom de votre squelette)
Par exemple, vous avez dans votre répertoire squelette, un squelette plan_site_pdf.html que vous souhaitez utilisé pour générer une sortie PDF de votre plan de site.
Il vous suffira d’appeler ce squelette/PDF de la façon suivante :
[<a href="[(#URL_PAGE{spipdf}
|parametre_url{spipdf,plan_site_pdf}
|parametre_url{nom_fichier,plan_site_pdf})]">
télécharger le plan de site au format PDF</a>]
Ce qui donnera l’URL : http://monsite.tld/spip.php?page=spipdf&spipdf=plan_site_pdf.html
Liens vers des articles SPIP dans le PDF
Si vous utilisez des liens internes du type [->art2] dans vos articles,
il est nécessaire d’utiliser le filtre url_abs sur les balises
DESCRIPTIF, CHAPO, TEXTE, PS et NOTES pour que les liens dans votre PDF pointent bien sur votre site.
Nom de fichier personnalisé
Par défaut, les fichiers PDF se nommeront document.pdf.
Si vous souhaitez préciser un nom particulier pour votre fichier, vous devrez préciser, comme dans les exemples ci-dessus, le paramètre nom_fichier dans la balise #URL_PAGE.
Format, orientation des pages et autres subtilités
HTML2PDF, vous permet, via la balise <page>
(voir le squelette spipdf_article.html pour l’exemple), de régler :
- l’orientation : paysage « L », ou portrait « P »
- le format : A4, A5, Letter
- les marges
Vous trouverez plus d’informations sur le wiki de la librairie et plus particulièrement sur la section concernant la fameuse balise page
Contraintes et bugs connus
Certaines balises HTML peuvent ne pas être gérées par le plugin
C’est notamment le cas de balises qui ne sont pas gérées par HTML2PDF. Dans ce cas, vous devriez avoir une erreur à la génération du PDF.
2 solutions :
- le HTML qui pose problème est dans votre squelette ? et bien... trouvez autre chose en attendant mieux (mais signalez-le quand même dans les commentaires)
- le HTML est généré par SPIP ? Signalez-le dans les commentaires pour une mise à jour du plugin
Note : actuellement testé avec pratiquement tous les raccourcis typographiques, il n’a pas été signalé d’incompatibilité entre les balises HTML générées par SPIP et HTML2PDF [1].
Certaines balises CSS ne sont pas gérées par le plugin
Bien entendu, dans ce cas, l’affichage au format PDF sera différent de l’affichage au format HTML. On notera par exemple que le positionnement float n’est pas géré.
Vous devrez palier à cette contrainte de positionnement en utilisant des tableaux imbriqués (snif !)
Encore une fois, toutes ces contraintes sont explicitées sur le site de HTML2PDF et sur son forum.
Changer l’encodage utilisé pour la génération de PDF
Le plugin génère les PDF en UTF-8. Certaines personnes ont rencontré des problèmes de génération des contenus dans cet encodage.
Pour changer ce comportement, et utiliser ISO-8859-15, vous devez changer la constante suivante dans votre fichier d’options :
define('SPIPDF_CHARSET', 'ISO-8859-15');
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |