[Résolu] [PHP][XML][PDF] Comment appeler FOP depuis une page PHP ?

Comment appeler FOP depuis une page PHP ? [Résolu] [PHP][XML][PDF] - PHP - Programmation

Marsh Posté le 27-01-2008 à 20:57:06    

Bonjour les gens !
 
Après plusieurs recherches sur le net qui n'ont rien donné, je viens ici pour demander de l'aide...
Voilà, je dois réaliser un fichier pdf à partir d'un fichier xml. J'ai un fichier xsl pour formatter mes données. J'utilise Apache FOP pour créer du pdf à partir du xml et du xsl. En ouvrant un terminal Windows et en tapant cette commande, cela fonctionne bien :
 
fop -xml fichier.xml -xsl fichier.xsl -pdf resultat.pdf
 
Cela me donne bien un beau pdf.
 
Je voudrais maintenant pouvoir appeler cette commande à partir d'un fichier php, en utilisant exec().
J'ai donc écrit :

Code :
  1. <?php
  2. $cmd = "fop -xml fichier.xml -xsl fichier.xsl -pdf resultat.pdf";
  3. exec($cmd);
  4. ?>

 
 
Lorsque je lance la page j'ai droit à une brève apparition du terminal, pas de message d'erreur mais pas de fichier pdf non plus. :'(
Je précise que je suis sous Vista des fois que...
 
Voilà si quelqu'un a une solution je suis preneur !
 
Merci  :jap:


Message édité par Fred051 le 27-01-2008 à 23:57:39
Reply

Marsh Posté le 27-01-2008 à 20:57:06   

Reply

Marsh Posté le 27-01-2008 à 21:47:54    

tu as essayé en metant des chemins absolus vers fop et vers tes fichiers xml/xsl

 

edit: sinon, en php , il y a fpf qui est pas mal


Message édité par flo850 le 27-01-2008 à 21:48:58

---------------

Reply

Marsh Posté le 27-01-2008 à 21:54:15    

Oui même avec les chemins absolus cela ne marche pas. fpdf je l'utilise déjà pour générer autre chose, mais ici on me demande de créer un pdf à partir d'un xml, et je n'ai pas trouvé d'autre solution, pour rester dans du php pur, que de lancer l'invite de commandes Windows à partir du php...

Reply

Marsh Posté le 27-01-2008 à 23:57:13    

C'est bon j'ai trouvé :
 
Il faut mettre cette ligne dans le PHP :
 

Code :
  1. exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "."C:\\WINDOWS\\system32\\cmd.exe /K"."fop output.fo resultat.pdf" );


 
Et à la place de "fop output.fo resultat.pdf" on peut aussi mettre un fichier *.bat.  ;)

Reply

Marsh Posté le 01-01-2010 à 16:28:09    

Une question?
Fred051, j'ai un prblème je souhaite également généré du pdf avec mes fichiers xml/xsl, je ne sais pas du tout comment fonctionne fop? et je travaille avec php4 sous linux, peux-tu m'aider stp?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed