Alternatives · WeasyPrint
De wkhtmltopdf à WeasyPrint : ce qui change
WeasyPrint est un moteur HTML et CSS écrit en Python pour la pagination, gratuit sous licence BSD-3-Clause, sans moteur de navigateur. La page d’état de wkhtmltopdf le suggère, avec Prince, pour des rapports faits d’un HTML que vous maîtrisez. pdfkiln garde au contraire la ligne de commande de wkhtmltopdf, et rend avec Chromium.
Ce qui change en passant de wkhtmltopdf à WeasyPrint
- Un autre moteur. WeasyPrint met la page en page lui-même : les modèles réglés pour le WebKit de wkhtmltopdf rendent autrement, et sont à vérifier un par un.
- Pas de JavaScript. Sa documentation le dit : les graphiques dessinés par un script, et les en-têtes ou pieds de page qu’un script remplit, comme ceux de Frappe, restent vides.
- Les en-têtes et pieds de page viennent du CSS paginé,
@pageet ses boîtes de marge, pas de pages--header-html. - Une bibliothèque Python et une ligne de commande (
weasyprint page.html page.pdf), avec Python 3.10 ou plus récent et Pango 1.44 ou plus récent. knp-snappy, wicked_pdf et les autres bibliothèques de wkhtmltopdf ne l’appellent pas. - PDF/A et pièces jointes.
--pdf-variantécrit du PDF/A, de PDF/A-1 à PDF/A-4, du PDF/UA et du PDF/X, et--attachmentjoint des fichiers avec leur relation : les éléments d’une facture Factur-X, avec le XML que vous produisez. Factur-X lui-même n’est pas dans sa documentation.
Quand WeasyPrint est le bon choix
Du HTML écrit pour l’impression, sans JavaScript, dans une pile Python, et du PDF/A ou du PDF/UA sans frais.
Quand c’est pdfkiln
Des modèles faits pour wkhtmltopdf qui doivent garder leurs pages, du JavaScript dans la page ou dans ses en-têtes et pieds de page, des bibliothèques qui appellent wkhtmltopdf, n’importe quel langage par la ligne de commande. Le PDF/A-3 et le Factur-X depuis ces mêmes modèles, c’est ce pour quoi pdfkiln Pro se prépare.
Sources
WeasyPrint sur GitHub, ses premiers pas, pour aller plus loin et sa référence, et la page d’état de wkhtmltopdf, lus le 29 octobre 2026.