php, exec et fop
parArkenle 13.Jul.2009
Problématique du jour : générer du PDF...avec un script php.
J'ai trouvé 2 solutions :
D'où ma préférence pour un produit que je connais déjà pour cette utilisation : apache FOP. En téléchargeant les binaires de FOP on a déjà tout ce qu'il faut avec un batch (Windows) et un shell (Unix) tout prêt. Il suffit de passer les bons arguments et le tour est joué, rien à développer et rien à intégrer donc. Seule problématique : arriver à lancer FOP depuis mon script php. On peut théoriquement faire ça assez facilement avec la commande exec : exec(escapeshellarg("fop -xml monfichierxml.xml -xsl monfichierxsl.xsl -pdf monfichierpdf.pdf")); Ok super. Sauf que je viens de perdre 2 bonnes heures pour comprendre que dans les chemins d'accès au fichier xml, xsl et pdf, on doit doubler les slash...putain. Donc : exec(escapeshellarg("fop -xml c:\ServiceInvoice_Proto_Template_001.xml -xsl c:\ServiceInvoice_Proto_Template_001.xsl -pdf c:\ServiceInvoice_Proto_Template_001.pdf")) MARCHE PAS !!! exec(escapeshellarg("fop -xml c:\\ServiceInvoice_Proto_Template_001.xml -xsl c:\\ServiceInvoice_Proto_Template_001.xsl -pdf c:\\ServiceInvoice_Proto_Template_001.pdf")) MARCHE Tags : fop php exec |
|










