Bonjour,
J'ai un soucis avec XSL-FO.
J'ai un template pour ma 1ere page notamment le pied de page :
Le pied de page de la première page est défini comme ceci : et cela fonctionne correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <fo:layout-master-set> <fo:simple-page-master master-name="first" page-height="29.7cm" page-width="21cm" margin="1cm"> <fo:region-body region-name="xsl-region-body" column-gap="0cm" margin="0" /> <fo:region-after region-name="xsl-region-after-first" extent="5cm" display-align="after" /> </fo:simple-page-master> <fo:simple-page-master master-name="last" page-height="29.7cm" page-width="21cm" margin="1cm"> <fo:region-body region-name="xsl-region-body" column-gap="0cm" margin-top="5cm" margin="0 0 5cm 0" /> <fo:region-before region-name="xsl-region-before" extent="5cm" /> <fo:region-after region-name="xsl-region-after-last" extent="5cm" display-align="after" /> </fo:simple-page-master> <fo:simple-page-master master-name="all" page-height="29.7cm" page-width="21cm" margin="1cm"> <fo:region-body region-name="xsl-region-body" column-gap="0cm" margin-top="5cm" margin="0" /> <fo:region-before region-name="xsl-region-before" extent="5cm" /> <fo:region-after region-name="xsl-region-after" extent="0cm" /> </fo:simple-page-master>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <fo:static-content flow-name="xsl-region-after-first"> <fo:table table-layout="fixed" width="100%" margin="0.5cm 0 0 0" padding="0 0 0.1cm 0" border="1px solid black" > <fo:table-column column-width="50%" /> <fo:table-column column-width="50%" /> <fo:table-body font-size="6pt"> <fo:table-row> <fo:table-cell> <fo:block color="#fff"> vide </fo:block> </fo:table-cell> <fo:table-cell> <fo:block margin-left="30px"> <xsl:apply-templates select="informationsAdresse" /> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table>
Le problème est que j'ai un bloc défini plus loin qui doit être présent sur la 1ere page ou directement sur la 2e si il est trop long.
Le problème est que ce bloc ne prend pas en compte le template de la 1ere page et n'hésite pas à s'afficher sur le pied de page de la première page au lieu de l'éviter et de s'afficher sur la 2e page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <xsl:template name="infos" match="//infos" > <xsl:if test="@size > 0"> <fo:table table-layout="fixed" width="100%" margin="0.5cm 0 0 0" padding="0 0 0.1cm 0"> <fo:table-column /> <fo:table-header> <fo:table-row> <fo:table-cell number-columns-spanned="2" text-align="center" padding="0.10cm 0.15cm 0.05cm 0.15cm" background-color="#777"> <fo:block color="#fff"> Informations </fo:block> </fo:table-cell> </fo:table-row> </fo:table-header> <fo:table-body font-size="6pt"> <xsl:choose> <xsl:when test="@size > 0"> <xsl:apply-templates select="info" /> </xsl:when> <xsl:otherwise> <fo:table-row keep-with-previous="always"> <fo:table-cell number-columns-spanned="2"> <fo:block color="#fff">vide</fo:block> </fo:table-cell></fo:table-row> </xsl:otherwise> </xsl:choose> </fo:table-body> </fo:table> </xsl:if> </xsl:template>
Merci pour toute aide
Partager