C'EST QUOI ?
pdfme est une bibliothèque TypeScript pour générer des PDF à partir de templates déclarés en JSON. Tu dessines une mise en page une fois (à la main ou dans le designer WYSIWYG fourni), tu injectes tes données, et la lib produit le PDF. Elle fonctionne aussi bien côté navigateur que dans Node.js, ce qui évite de sortir un service de rendu séparé ou de bricoler avec du HTML-to-PDF.
POURQUOI C'EST INTÉRESSANT ?
- Template en JSON : la mise en page est une structure de données, donc versionnable dans Git, diffable et manipulable par programme.
- Designer WYSIWYG : un composant React pour positionner les champs au drag-and-drop, sans coder la mise en page à la main.
- Navigateur et Node.js : le même moteur tourne des deux côtés, pratique pour générer en front comme en back.
- Packages découpés :
@pdfme/generator,@pdfme/ui,@pdfme/commonet un CLI pour valider et diagnostiquer les templates. - Schémas extensibles : texte, images, tables, codes-barres, signatures, et la possibilité d'ajouter ses propres types de champs via des plugins.
CAS D'USAGE
- Générer des factures, reçus ou attestations à partir de données structurées.
- Produire des documents en masse depuis une base ou un tableur.
- Laisser un utilisateur non-technique éditer un template via le designer.
- Remplir des formulaires PDF dynamiques directement dans le navigateur.
