Bonjour à tous,
Je travaille actuellement sur un petit projet local pour ma communauté de communes. L'une des fonctionnalités à mettre en place est la génération de documents PDF en PHP.
La dernière fois que j'ai eu à gérer ce type de besoin remonte à 2007-2008. À l'époque, j'utilisais FPDF sous PHP 3... autant dire que cela commence à dater sérieusement. J'imagine que cette bibliothèque est aujourd'hui largement dépassée, même si elle semble toujours maintenue et fonctionnelle.
Dans l'idéal, j'aimerais pouvoir générer un PDF à partir d'une page web côté serveur. J'ai commencé à regarder ce qui existe actuellement, mais la conversion HTML/CSS (et notamment CSS3) vers PDF reste un sujet complexe, les deux univers n'étant pas toujours parfaitement compatibles.
Si je me permets de solliciter vos avis, c'est parce que mes recherches m'ont fait découvrir plusieurs solutions : DOMPDF, TCPDF, mPDF, entre autres. N'ayant plus suivi ce domaine depuis longtemps, je ne sais pas vraiment vers quelle bibliothèque m'orienter.
Pour préciser le contexte, l'application récupère des métadonnées normalisées (Schema.org) depuis des pages web. Les données sources peuvent être encodées en UTF-8 ou en ISO-8859-1, ce qui a peut-être son importance.
À partir de ces données, plusieurs types de documents doivent être générés, dont des PDF. J'aimerais pouvoir m'appuyer sur un système de templates, les champs étant normalisés et donc connus à l'avance. Les documents générés devront respecter les différentes chartes graphiques des utilisateurs, d'où l'importance de disposer d'un mécanisme de templating suffisamment souple.
Il faudra également pouvoir intégrer des images dans les PDF, notamment parce qu'un QR Code devra être ajouté à terme.
Enfin, les utilisateurs devront pouvoir récupérer ces fichiers PDF pour les transmettre à des tiers, généralement des partenaires de communication.
Au vu de ce besoin, vers quelle type de bibliothèque me conseilleriez-vous de m'orienter aujourd'hui ? Y'a t il une solution simple pour générer les PDF à partir de HTML+CSS ? (je n'ai jamais trouvé de choses bien compatibles à ce jour)
Je vous remercie