Chez nombre de mes clients la "génération de PDF" est un vrai sujet / enjeux. Mais que veux-t-on vraiment générer ?
Tag - xml
mercredi, mars 10 2010
Modèle PDF : où comment éviter de perdre son temps
Par Olivier Hoareau le mercredi, mars 10 2010, 22:49 - Méthodologie
lundi, novembre 3 2008
Web Services : Avoir le réflexe mise en cache pour optimiser la charge serveur
Par Olivier Hoareau le lundi, novembre 3 2008, 08:00 - Architecture
Vous avez développé votre tout dernier web service destinés à être utilisé par 2 ou 3 autres équipes en interne (voire en externe par des partenaires).
Il (le web service) fonctionne bien, tellement bien, que vous commencez à avoir plusieurs dizaines de requêtes par jour. ...
Commentaires récents
Joli :)
Que pense-tu d'APC ou memcached, pour le coup?
Cela fera certainement l'objet d'un ou plusieurs autres articles ;) j'ai un penchant pour APC, que j'active systématiquement en production.
Pourquoi pas utiliser memcache?
Ton objet serait stocké dedans par l'appli, et recraché par le script PHP. Tu évite ainsi des accès disques.
Perso, j'utilise tcpdf car il supporte le html et en général, je crée donc un tpl html que je remplis avec les données depuis la db et que je passe à tcpdf.
Sinon pour cette technique, elle est intéressante a part qu'il me semble que si tu dois afficher un texte dont tu ne connais pas la longueur alors tu peux avoir des problèmes dans le positionnement absolu après, du style textes qui se chevauchent mais c'est à creuser.
L'approche est interressante par contre je trouve que la génération de pdf est vraiment quelquechose de rébarbatif et peu passionnant.
J'ai eu l'occasion d'utiliser wkhtmltopdf et cela m'a vraiment séduit :
- avoir une approche souple de la mise en page comme on peut l'obtenir avec le (x)html / css.
- avoir le rendu de webkit (qtwebkit)
Le principal inconvénient de cette solution est l'obligation de pouvoir utiliser un binaire sur son hébergement.
http://code.google.com/p/wkhtmltopd...
Intéressant sauf que Zend_Pdf, même s'il peut charger des pdfs, reste encore très limité niveau fonctionnalités. Pas ou peu de formatage du texte (alignement justifié, écriture de bloc, analyse d'une syntaxe html pour le formatage), pas de possibilité de limité les actions sur le pdf comme empêcher le copier/coller ou l'impression, etc ...
Perso j'utilise tcpdf pour générer mes pdfs de bout en bout. La librairies n'est franchement pas très propre mais est assez efficace.
Nettement plus terre-à-terre, j'utilise le tandem FPDF (de http://www.fpdf.org) combiné à la libraire FPDI (http://www.setasign.de/products/pdf...).
FPDF est une classe (géniale) qui permet de générer du PDF sans passer par des librairies et FPDI (héritant de FPDF) permet d'utiliser des modèldes comme fond de page.
Résultat le code PHP à écrire se limite aux cellules "dynamiques"
On peut aussi faire appel à wkhtmltopdf (http://code.google.com/p/wkhtmltopd...)
Simple utilitaire shell pour convertir html en pdf avec webkit rendering engine.
On peut prévoir une feuille de style dédiée.
C'est vraiment LA solution la plus simple pour le développeur.
Juste peut-être développer un système de cache pour les pages qui sont appelées de multiples fois.
Je l'ai utilisé pour mon intranet Drupal (http://drupal.org/project/print). Pas encore exempt de bug avec Drupal mais ça va venir.
@all: Merci à tous pour vos retours d'expériences très intéressant !
À essayer, à adopter et à ne plus jamais s'en passer : http://html2pdf.fr/
PDFlatex est une solution très souple, à envisager si vous avez la main sur les paquets installés sur le serveur :)
Article intéressant...
Après être passée par fpdf, puis Zend_PDF (trop jeune à l'époque) puis Fop, j'utilise aujourd'hui Prince Xml (cf. http://www.alsacreations.com/articl...).
C'est un binaire qui convertit une page HTML en PDF (et qui respecte Acid2).
L'intérêt : une seule sortie HTML et 2 feuilles de style (une screen pour le navigateur et une print utilisée par princexml et/ou imprimante).
Par contre, ce n'est pas gratuit et nécessite d'avoir la main sur le serveur (en environnement Pro, pas de problème).
Je ne connais pas wkhtmltopdf.
Pareil que François, FPDF + FPDI. Importation d'un template en PDF, ajout des données dynamiques, et hop, un joli PDF
bon, ben je ne pourrais que conseiller d'utiliser HTML2PDF http://html2pdf.fr/ étant donné que j'en suis le créateur :)