Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1144 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Probleme de xslfo + php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de xslfo + php

n°914819
gee
Bon ben hon
Posté le 04-12-2004 à 17:05:28  profilanswer
 

Salut,
 
 
j'utilise des fichiers xml avec des .xsl pour générer des .pdf à partir de FOP.
 
Mon but ultime est d'appeler tout ca via une page en php( peut etre pas la meilleure idée).
 
Mais mon problème est que bien évidemment je ne peux pas appeler FOP à partir de ma page PHP.
 
J'ai trouvé des libs PHP5 qui pourraient remplacer FOP je crois, mais le server sur lequel ca va tourner est en PHP4, et la je ne sais pas trop comment faire (d'ailleurs dans le cas du php5 pas trop non plus).
 
Existe t il un moyen pour que je puisse appeler fop, et lui donner le JRE dont il a besoin ? Y a t il une meilleure solution (qui respecterait alors mon script xslfo conçu pour FOP au maximum) ?
 
Merc bien  :hello:  
 
 :sol:  
[La suite est résolu]
 :sol:  
Mais je me heure à des soucis, on m'a donné des bouts de code qui devraient tourner mais FOP me jète  
Par exemple il refuse les balises br ou td.
 
Je suis très embeter pour faire mes tableaux.
 
J'ai tenté des trucs dans ce genre (mais c'est pas simple) :  
 

Code :
  1. fo:page-sequence master-reference="Le Vre Journal de l'ECE"> <!-- sommaire du journal -->
  2.   <fo:flow flow-name="xsl-region-body">
  3.    <fo:block font-size="10pt">
  4.     <fo:table table-layout="fixed" width="100%">
  5.      <fo:table-column column-width="proportional-column-width(50)"/>
  6.      <fo:table-column column-width="proportional-column-width(50)"/>
  7.      <fo:table-body>
  8.       <xsl:apply-templates/>
  9.      </fo:table-body>
  10.     </fo:table>
  11.    </fo:block>
  12.   </fo:flow>
  13.  </fo:page-sequence>
  14. </fo:root>
  15. </xsl:template>
  16. <xsl:template match="Journal">
  17.     <fo:table-row>
  18.  <fo:table-cell>
  19.   <fo:block position="absolute" left="330px" top="200px">
  20.    <fo:external-graphic src="url('images/logo_gd.jpeg')" margin-bottom="20px" width="250px"  height="175px"/>
  21.   </fo:block>
  22.  </fo:table-cell>
  23.  <fo:table-cell>
  24.   <fo:block position="absolute" left="335px" top="800px">
  25.    Le VRE Journal
  26.   </fo:block>
  27.   <fo:block position="absolute" left="335px" top="200px">
  28.    Veritablement redige par des Electrocentraliens
  29.   </fo:block>
  30.    
  31.   <fo:block position="absolute" left="335px" top="200px">
  32.    LVJ - Gratuit
  33.   </fo:block>
  34.  </fo:table-cell>
  35. </fo:table-row>
  36. <fo:table-row>
  37.  <fo:table-cell>
  38.   <fo:block position="absolute" left="335px" top="200px">
  39.    <fo:external-graphic src="url('images/ban.jpg')" width="625px"  height="75px"/>
  40.   </fo:block>
  41.  </fo:table-cell>
  42. </fo:table-row>
  43. <fo:table-row>
  44.  <fo:table-cell>
  45.   <fo:block font-size="medium" margin-top="35px" >
  46.    <xsl:for-each select="Article">
  47.     hello
  48.    </xsl:for-each>
  49.   </fo:block>
  50.  </fo:table-cell>


 
Mais quand je veux un tableau different, je ne sais pas comment le définir :(
 
Merci bien,


Message édité par gee le 08-12-2004 à 18:13:44
mood
Publicité
Posté le 04-12-2004 à 17:05:28  profilanswer
 

n°914823
gee
Bon ben hon
Posté le 04-12-2004 à 17:07:22  profilanswer
 

mon but est de faire fonctionner des trucs dans ce genre :  

Code :
  1. <fo:block font-size="medium" margin-top="35px" >
  2.    <xsl:for-each select="Journal/Article">
  3.     <fo:table border="1" width="275px" border-width="1" border-style="outset" background-color="#FFFF00">
  4.      <xsl:if test="rubrique='Y'"> <!-- rubrique Y -->
  5.       <td text-align="center" padding="6" border-style="inset" border-width="1">
  6.        <xsl:apply-templates select="Titre"/>
  7.       </td>
  8.       <td text-align="center" padding="6" border-style="inset" border-width="1">
  9.        P.
  10.        <xsl:apply-templates select="page"/>
  11.       </td>
  12.        </xsl:if>
  13.     </fo:table>
  14.      </xsl:for-each> </fo-block>


Message édité par gee le 04-12-2004 à 17:07:52
n°915109
gee
Bon ben hon
Posté le 05-12-2004 à 13:51:40  profilanswer
 

résolu en mettant tout en un en fait, j'avais suivi un exemple qui séparait le tableau de ses données, mais c'est trop compliqué pour moi.

Code :
  1. <fo:block font-size="medium" margin-top="35px" >
  2.     toto
  3.     <xsl:for-each select="Article">
  4.      <fo:table table-layout="fixed" border="1" width="250px" border-width="1" border-style="outset" background-color="#FFFF00">
  5.       <xsl:if test="rubrique='Y'"> <!-- rubrique Y -->
  6.        <fo:table-column column-width="proportional-column-width(43)"/>
  7.        <fo:table-column column-width="proportional-column-width(7)"/>
  8.        <fo:table-body>
  9.         <fo:table-row border="1">
  10.          <fo:table-cell border-style='solid' border-width='1px' padding='1px' text-align="center">
  11.           <fo:block>
  12.            <xsl:apply-templates select="Titre"/>
  13.           </fo:block>
  14.          </fo:table-cell>
  15.          <fo:table-cell border-style='solid' border-width='1px' padding='1px' text-align="center">
  16.           <fo:block>
  17.            P.
  18.            <xsl:apply-templates select="page"/>
  19.           </fo:block>
  20.          </fo:table-cell>
  21.         </fo:table-row>
  22.        </fo:table-body>
  23.       </xsl:if>
  24.      </fo:table>
  25.     </xsl:for-each>
  26.    </fo:block>

n°918169
gee
Bon ben hon
Posté le 08-12-2004 à 18:02:57  profilanswer
 

Up, CF 1er post
 
j'utilise des fichiers xml avec des .xsl pour générer des .pdf à partir de FOP.
 
Mon but ultime est d'appeler tout ca via une page en php( peut etre pas la meilleure idée).
 
Mais mon problème est que bien évidemment je ne peux pas appeler FOP à partir de ma page PHP.
 
J'ai trouvé des libs PHP5 qui pourraient remplacer FOP je crois, mais le server sur lequel ca va tourner est en PHP4, et la je ne sais pas trop comment faire (d'ailleurs dans le cas du php5 pas trop non plus).
 
Existe t il un moyen pour que je puisse appeler fop, et lui donner le JRE dont il a besoin ? Y a t il une meilleure solution (qui respecterait alors mon script xslfo conçu pour FOP au maximum) ?
 
Merc bien  :hello:  

n°918206
gee
Bon ben hon
Posté le 08-12-2004 à 18:43:55  profilanswer
 

Salut,
 
en fait je ne peux pas faire de modification sur le server (impossible de rajouter des modules php, de configurer des modules deja existants, ou d'installer php5 .)  
 
 
Donc je ne vois pas trop comment m'en sortir.

n°918974
gee
Bon ben hon
Posté le 09-12-2004 à 17:09:04  profilanswer
 

C'est peut etre possible de générer un flux PDF, mais pas forcément le fichier PDF. Comme quand sous IE/Mozz je lis un fichier xml avec son xsl associé.
 
Mais je ne vois pas comment faire,
acrobat reader me refuse bien évidemment de lire mon fichier xml de base.
 
Merci bien,


Message édité par gee le 09-12-2004 à 17:09:39
n°932228
Berceker U​nited
PSN : berceker_united
Posté le 27-12-2004 à 06:51:29  profilanswer
 

lol je tombe par hasard sur ton topic et j'en rigole un peut du faite que tu parlais tous seul :).  
En espérant que le sujet a servi a plus d'un !

n°932454
gee
Bon ben hon
Posté le 27-12-2004 à 13:28:16  profilanswer
 

Bah en fait j'ai fini avec exec + FOP et une feuille de style XSLFO :)
 
Bien evidemment pour exec, j'ai utilisé un server apache maison.
 
Sinon bah je parle seul car personne ne voulait parler avec moi :cry:

n°1280084
yuri7
Posté le 10-01-2006 à 08:08:37  profilanswer
 

Bonjour Gee,
 
Je suis très content de voir que quelqu'un a recontré les mêmes problèmes que moi :)  
 
en espérant que tu participes toujours activement à ce forum, je me permets de te demander si il était possible que tu post les sources de tes scripts qui utilisent fop en php?
 
Franchement, ça m'enlèverait une belle épine du pied.
 
D'avance merci.
 
yuri7

n°1280086
gee
Bon ben hon
Posté le 10-01-2006 à 08:23:53  profilanswer
 

Salut,
 
utiliser fop en php ne me parait plus la meilleure des choses aujourd'hui, des paquets existent en php pour créer des pdf directement en passant par xslt sans passer par exec(), ce qui est une bonne chose.
 
Je n'ai plus en tête le nom de ces paquets là, mais ca ne doit pas etre bien difficile à trouver.

mood
Publicité
Posté le 10-01-2006 à 08:23:53  profilanswer
 

n°1280090
gee
Bon ben hon
Posté le 10-01-2006 à 08:29:44  profilanswer
 

Ok voila ce que j'aurais utilisé si j'avais eu plus de temps (et si j'y avais pensé plus tot ..) : http://www.fpdf.org/
 
Pour mon script je regarderai ce soir si je l'ai encore quelque part.

n°1280093
yuri7
Posté le 10-01-2006 à 08:33:00  profilanswer
 

MErci pour ta réponse Gee,
 
Le problème, c'est que je n'ai pas le choix, je suis obligé d'utiliser cette manière de travailler  :heink:  
 
Si tu pouvais essayer de retrouver ton script et le poster, je ferais façonner une statue à ton effigie...
 
En tous cas merci

n°1280095
gee
Bon ben hon
Posté le 10-01-2006 à 08:44:26  profilanswer
 

Bon j'ai regardé par ssh sur mon fixe, et je ne trouve rien, je regarderai ce soir sur mon portable voir j'ai gardé quelque chose, je pense que oui mais on verra bien.
 
Sinon pourquoi es tu obligé d'utiliser FOP ?
Tu dois savoir qu'exec() est dispo sur très peu de server apache (pas sur free, pas sur la plupart des servers gratuits, pareil pour les servers d'écoles souvent).

n°1280102
yuri7
Posté le 10-01-2006 à 09:01:52  profilanswer
 

C'est un travail de diplôme qui sera soit utiliseé en local, soit sur un serveur test d'une école, donc ils mettront tout ce qu'il faut pour que ça tourne. Je suis conscient que c'est sûrement pas la meilleure solution de travailler de cette manière, la preuve, pour trouver quelqu'un qui a déjà fait ça, c'est la gallère.

n°1280157
gee
Bon ben hon
Posté le 10-01-2006 à 10:17:16  profilanswer
 

Bah si tu me dis sur quoi tu bloques je pourrais toujours tenter de t'aider (si je me rappelle de quelque chose)

n°1281138
yuri7
Posté le 11-01-2006 à 10:16:02  profilanswer
 

1. J'ai une application web qui génère des documents xml.  
2. A partir de ces documents xml, j'ai besoin de le mettre en forme avec xsl-fo afin de générer un document soit pdf, soit openoffice par exemple... Pour commencer, déjà pdf.
3. Si tu penses que la commande php exec() peut faire l'affaire, ce serait cool que tu puisse me donner cette ligne de code.
 
As-tu retrouvé ton script?
 
MErci beaucoup GEE

n°1281673
gee
Bon ben hon
Posté le 11-01-2006 à 20:08:57  profilanswer
 

Pas retrouvé non, même sur mon portable, faudra que je cherche ailleurs on dirait.
sinon l'exec te permet d'appeler FOP avec les arguments qui vont bien (de mémoire le XML et le XSLFO).

n°1281894
yuri7
Posté le 12-01-2006 à 10:44:13  profilanswer
 

A part ça, j'ai un problème concernant fop :
 
- Doit-on installer ce processeur? Si oui, de quelle manière?
- Si non, doit-on l'inclure comme une librairie? Si oui, de quelle manière inclure une librairie java en php?
 

n°1282191
yuri7
Posté le 12-01-2006 à 15:23:56  profilanswer
 

J'ai réussi à utiliser FOP au travers de php.
 
Il suffit d'appeler fop.bat et de lui transmettre les bons fichiers.
Afin de ne pas m'embêter, j'ai ajouté fop.bat dans les variables d'environnements du path.
 

Code :
  1. exec("fop ../xml/questionnaires.fo ../../data/pdf/ohyeah.pdf" );


 
Maintenant, je dois utiliser mon document .xml ainsi qu'un document .xslt afin de générer un .fo pour finalement générer le pdf.
 
Savez-vous comment générer un document .fo à partir d'un .xml et d'un xslt?

Message cité 1 fois
Message édité par yuri7 le 12-01-2006 à 15:25:51
n°1282218
gee
Bon ben hon
Posté le 12-01-2006 à 15:41:33  profilanswer
 

fop monfichier.xml -l'optionquivabien monfichier.xslt -l'optionquivabien monfichier.pdf
 
je ne vois pas l'interet du .fo (d'ailleurs je ne sais même pas ce que c'est).
 
Sinon d'après tes questions je te sens un peu perdu tout de même :)

n°1282222
gee
Bon ben hon
Posté le 12-01-2006 à 15:42:29  profilanswer
 

yuri7 a écrit :

J'ai réussi à utiliser FOP au travers de php.
 
Il suffit d'appeler fop.bat et de lui transmettre les bons fichiers.
Afin de ne pas m'embêter, j'ai ajouté fop.bat dans les variables d'environnements du path.
 

Code :
  1. exec("fop ../xml/questionnaires.fo ../../data/pdf/ohyeah.pdf" );


 
c'est bien ce que je te disais de faire :D


n°1444569
gee
Bon ben hon
Posté le 19-09-2006 à 12:12:50  profilanswer
 

Salut,  
 
je viens de retrouver des bouts de scripts si ca t'interesse toujours :)

n°1954410
cynlud
l'humilité précède la Gloire!
Posté le 02-01-2010 à 00:52:00  profilanswer
 

Bonjour Gee!
moi je suis interessée par ton script
j'ai exactement le même pb que Yuri7, et le pb c'est que j'utilise php4, car depuis ma fac et je ne sais pas du tout comment me servir de fop!
Mais je sais une chose c'est que je veux du pdf, via php, car j'ai fait mon site web en xml et xsl.
Merci pr ton aide.

n°1954411
gee
Bon ben hon
Posté le 02-01-2010 à 05:01:54  profilanswer
 

desole je n'ai plus rien sous la main la...


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°1954426
Rio Grande
bande de nains
Posté le 02-01-2010 à 12:00:18  profilanswer
 

En même temps après 4 ans ça m'étonne pas :D


---------------
Topics : NFSU2 - NFS : Most Wanted - Volant PC Site :  NFS-Mania.com
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Probleme de xslfo + php

 

Sujets relatifs
[css] Problème de positionnementProblème avec les Templates sous Visual !
[PHP] Problème de POSTProblème de création de vignette !
C++ : Problème de "commandes"[CSS] Problème d'alignement d'un menu dans un div
select et socket enrobé de sucre (fdopen mode lecture) -> probleme ???[Oracle - PL/SQL] Problème de trigger et de table inaccessible
Problème réalisation d'un puissance 4 sous Wordproblème pour trouver des infos claires sur c++ et gtk
Plus de sujets relatifs à : Probleme de xslfo + php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR