Flux Atom

remihackert.net

pdf.png

Plugin FPDF4DC2 : PDF à la volée pour Dotclear 2 avec la classe FPDF

fpdf4dc2.jpgVoici un plugin construit autour de la classe php nommée fpdf. Il permet à Dotclear 2 de générer des PDF à la volée à partir d'un billet avec justification du texte, inclusions des images et contournement de celles ci par le texte, bref l'allure minimale et classique d'un article. Pour s'éviter de passer par un service externe souvent plus lent et présenter des documents personnalisés.

Télécharger le plugin fpdf4DC2

Le plugin est disponible en pièce jointe à ce post et s'installe d'une façon très classique. Le plugin crée la balise {{tpl:PdfRequestButton}} qu'il faut ajouter dans votre fichier post.html (répertoire tpl de votre thème) par exemple après l'affichage de l'auteur. Si vous utilisez des pages statiques faites alors de même avec le fichier page.html. Un bouton apparaîtra alors lors de l'affichage du message.

Limitation actuelle

Fpdf4dc2 est un plugin minimal. Sa seule ambition est de permettre de générer un document pdf lisible et simple au format que 99% des gens utilisent: le A4. L'aspect du document final est contrôlable via le fichier fpdf.css situé dans le répertoire plugins/fpdf4dc2/inc/. On pourra par exemple copier le fichier css de son thème en lieu et place de fpdf.css si on souhaite une ressemblance avec le document affiché à l' écran.

Si vous souhaitez ajouter un logo sur la première page de vos documents, il doit d'appeler logo.jpg et être déposé dans le répertoire img/ de votre thème.

La classe fpdf ne gère pas toutes les balises html. Les balises traitées sont les suivantes:

p, b, u, i, a, img, p, br, code, strong, em, font, tr, blockquote, h1, h2, h3, h4, h5, h6, li et ul. Elles suffisent à créer des documents simples, propres et utilisées à bon escient même assez élégants. Les autres balises sont tout simplement ignorées.

Le générateur de pdf n'optimise pas le positionnement des éléments lors des ruptures de pages. Il n'inverse pas l'ordre des objets à afficher. Néanmoins, pour éviter des gros trous en bas de page particulièrement lorsque' une image tombe en bas de page, il se permet d'en adapter un peu la dimension pour la faire rentrer au lieu d'introduire de suite un changement de page avec un gros trou dans le bas de la page précédente.

Les images sont positionnées à droite ou à gauche comme à l'écran et le texte contourne l'image. A l'heure actuelle le générateur pdf attend que la balise style=" " contienne le paramètre size: XX%;. Si le paramètre manque l'image est par défaut dimensionnée a 60% de la largeur de page .

Versions

v.0.20: maintenant possibilité d'utiliser la balise sur une page catégorie et de créer un pdf de tous les billets associés à cette catégorie. Remplacement du bouton texte par une icône.

version première v.0.10

ToDo liste

Réaliser une interface d'administration digne de ce nom et donc le passage de paramètre au plugin.

Test sur un blog fonctionnant avec des  path / et non en query string (index.php?post). 

Test sur une installation en multiblog

Annexes