Présentation
Xhtml2pdf est une classe PHP5, libre et gratuite (sous license GPL) permettant de transformer des documents xhtml en PDF. Xhtml2pdf fonctionne maintenant sur la classe TCPDF de Nicola ASUNI, elle-même basée sur l'excellente classe d'Olivier PLATHEY, FPDF.
L'originalité est qu'il s'agit d'une classe entièrement réalisée en PHP ; cela implique qu'elle ne dépend d'aucune librairie externe (comme pdflib au autre) ; elle fonctionne donc potentiellement sur une immense majorité des hébergeurs.
Limitations
Nous essayons d'implémenter tout ce que tcpdf nous permet d'implémenter.
- Xhtml2pdf permet de transformer des fichiers xhtml valide.
- Nous implémentons quelques propriétés CSS, autant par la gestion de la feuille CSS, que par la déclaration de l'attribut style ; néanmoins, mieux vaut préférer la gestion par la feuille de style.
- La gestion des images au format PNG, JP(E)G, GIF, voire XPM, est aussi fonctionnelle.
Xhtml2pdf est cependant soumis à de nombreuses limitations...
Maintenant, vous savez ce que Xhtml2pdf sait ou ne sait pas
faire !
Cela dit, xhtml2pdf permet la génération dynamique de jolis pdfs sur à
peu près n'importe quel serveur :)
Liste des propriétés CSS actuellement supportées
- font-family : Arial | Courier | Helvetica | Symbol | Times | ZapfDingbats
- font-size: px, pt, cm, mm
- font-style: normal | italic
- font-weight: bold | normal
- color: #rrggbb,#rgb,
- display: block | inline
- text-align: left | right | justify | center
- text-decoration: underline | none
- text-transform: uppercase | lowercase | capitalize | normal
- white-space: normal | pre
- margin-top: px, pt, cm, mm
- margin-right: px, pt, cm, mm
- margin-bottom: px, pt, cm, mm
- margin-left: px, pt, cm, mm
Liste des éléments HTML non supportés
Bien que TCPDF les supporte nativement, XHTML2PDF n'arrive pas à les gérer :
les tables (table, th, td, ...), sup et sub, ... et d'autres ?
Je recherche de bonnes volontés pour m'aider au moins à comprendre comment faire :p - contactez-moi sur devs _AT_ stephane-huc _POINT_ net .