[RESOLU]Probleme saut de page et colonnes

Probleme saut de page et colonnes [RESOLU] - XML/XSL - Programmation

Marsh Posté le 25-01-2005 à 14:37:35    

Bonjour
Je suis en train de faire passer en technologie XML/XSL les factures que j'editais jusque la avec crystal reports.
Apres un dur labeur (XSL c'est la mort) j'ai a peu de choses pres reussi a retrouver le rendu que j'avais auparavant.
Cependant il me reste quelques problemes:
Ma factures est composee de plusieurs pages , comment faire pour forcer un saut de page (qui sera gere a l'impression) a un moment de mon code xsl?
Autre chose ; la deuxieme page de ma facture est un releve sur 2 colonnes,comment gerer le multicolonnes en xsl?  
Je preceise que j'ai assez largement cherche avant de poster


Message édité par betsamee le 01-02-2005 à 15:19:19
Reply

Marsh Posté le 25-01-2005 à 14:37:35   

Reply

Marsh Posté le 27-01-2005 à 11:15:41    

concernant le saut de page , je galere
Sinon pour les colonnes j'ai integre une balise index dans mon xml que xsl sait ou mettre selon son modulo.
Le Pb c'est que ca me donne des colonnes du type ->->
                                                    |
                                                 <--
                                                 |
                                                 ->->

Reply

Marsh Posté le 27-01-2005 à 11:58:12    

Montre ton code pour les colonnes.
 
Pour le saut de page, je vois pas. C'est quoi la sortie, du texte, du htlm, du XML ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 27-01-2005 à 16:19:20    

la sortie du code c'est du xml (j'aimerais en faire un pdf a terme).Le rendu visuel est absolument identique a ce que j'obtenais en pdf (quand j imprime ma page dans mon imprimante html c'est farfait).
Le seul pb est la gestion du saut de page,pied de page et mes colonnes :
concernant mes colonnes voila ce que je fais:
<table border="0" width="85%" align="center">  
<tr>
 
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Date</b></span></font> </td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Heure</b></span></font> </td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Num. appelé</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Durée</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Cout</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>&#160;</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Date</b></span></font> </td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Heure</b></span></font> </td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Num. appelé</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Durée</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 9pt"><b>Cout</b></span></font></td>
</tr>
 
<xsl:for-each select="Clients/Entree/Appels/Appel">
 
<xsl:if test="Compteur mod 2='0'">
 
<tr/>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Date"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Heure"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Appele"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Secondes"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Cout"/>&#160;€</span></font></td>
 
</xsl:if>
<xsl:if test="Compteur mod 2!='0'">
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><b>|</b></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Date"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Heure"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Appele"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Secondes"/></span></font></td>
<td width="10%" align="left"><font face="Arial"><span style="font-size: 7pt"><xsl:value-of select="Cout"/>&#160;€</span></font></td>
</xsl:if>
 
</xsl:for-each>
   
</table>
 
J'imagine que c'est pas fabuleux j'ai appris le XML/XSL/HTML sur le tas y a 3 jours

Reply

Marsh Posté le 27-01-2005 à 18:20:59    

J'ai pas tout regardé mais si la sortie est du xml (XHTML en l'occurence) y'a aucun moyen de gérer des sauts de pages.
 
C'est une notion qui n'existe tout simplement pas en HTML !
 
Pour gérer ça, il faut sortir du PDF, et pour ça, il faut regarder du coté de xsl-fo via FOP par exemple http://xml.apache.org/fop/ si tu veux rester dans le monde XML.
 
Mais c'est une autre paire de manche !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 27-01-2005 à 22:49:35    

On peut utiliser du CSS pour forcer les sauts de page : http://www.w3.org/TR/CSS21/page.html#page-breaks
 
Testé sur Safari et Firefox, ça fonctionne parfaitement.

Reply

Marsh Posté le 27-01-2005 à 23:06:10    

Et ben on en apprend tous les jours :jap:  
 
C'est à tester ce truc.
 
Sauf que IE est même pas capable de rendre les css 1.0 correctement :/
 
Alors, du 2.1 ...


Message édité par Mara's dad le 27-01-2005 à 23:07:25

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 30-01-2005 à 10:01:58    

:bounce:  
Merci bcp ca marche impeccable avec les css
En gros je suis pas loin de terminer un projet que je pensais tres dur a realiser
Pourtant j'ose poser une (derniere question) car je vois qu'il y en a qui taquinent ici :sol:  
y aurait il un moyen de mettre du html en "footer" de ma pemiere page
je sais qu'avec html la notion de footer n'existe pas
en xsl non plus alors peut etre qu'avec les css?? :love:

Reply

Marsh Posté le 01-02-2005 à 00:49:48    

Pour les headers et footers, il suffit d'utiliser un "position: fixed" http://www.w3.org/TR/CSS21/visuren [...] ositioning . Le problème, c'est que ça apparaît sur toutes les pages. Pour le mettre seulement sur la première page, il doit y avoir moyen de faire quelque chose avec la pseudo-classe ":first-page", mais je n'ai pas réussi à le faire marcher sur ma page de test.

Reply

Sujets relatifs:

Leave a Replay

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