IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSL~FO][FOP] Pas de création de page suivante


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut [XSL~FO][FOP] Pas de création de page suivante
    Bonjour,
    je rencontre avec XSL:FO et FOP un problème de création de page suivante en bas d'un tableau au contenu dynamique.

    Voici le code du format de ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    			<fo:layout-master-set>
    				<!-- Definition of a single master page. It is simple (no headers etc.) -->
    				<fo:simple-page-master master-name="first"
    					page-width="21cm" page-height="29.7cm"
    					margin-left="1cm" margin-right="1cm" 
    					margin-bottom="0.5cm"
    					margin-top="0.5cm" >
    					<fo:region-body margin-top="1cm" margin-bottom="1cm" />
    					<fo:region-before extent="3cm" />
    					<fo:region-after extent="1.5cm" />
    				</fo:simple-page-master>
    			</fo:layout-master-set>
    et voici le code du tableau dynamique :
    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
     					<fo:block-container position="absolute" 
    						top="480pt" height="800pt" 
    						left="0pt" width="540pt" 
    						border-color="#000000" border-style="solid" border-width="0px">
     
    						<fo:table width="540pt" padding="0.3cm">
    					      	<fo:table-column column-width="265pt"/>
    					      	<fo:table-column column-width="10pt"/>
    					      	<fo:table-column column-width="265pt"/>
    					       	<fo:table-body border-style="solid" border-color="#000000" border-width="0px">
     
    	 							<xsl:for-each select="//list[@id='tasks']/list[@id='line']">
     
    									<fo:table-row keep-together="always" height="60pt">
     
    .../...
    									</fo:table-row>
    									<fo:table-row keep-together="always" height="10pt"></fo:table-row>
     
    	 							</xsl:for-each>
    							</fo:table-body>
    						</fo:table>
     
    					</fo:block-container>
    					<!-- Fin de Bloc Formulaires Dynamiques -->
    Même avec le keep-together="always" dans mes lignes, le tableau déborde sur mon pied de page et ne crée pas de page suivante.

    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    augmente ton "margin-bottom" qui est là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fo:region-body margin-top="1cm" margin-bottom="1cm" />
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Merci mais ça ne marche toujours pas

    J'ai augmenté la marge basse à 2.5cm, et le tableau empiète toujours joyeusement sur le pied de page , cf. Exemple.pdf.


  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Est-ce que ça ne pourrait pas venir de mon block-container qui englobe le tableau ?

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    je ne suis pas certain, je n'utilise jamais "block-container"!!! mais ton "absolute" effectivement peut poser probleme...

    est ce que tu es obligé de l'utiliser?

    à priori tu peux faire la même chose en travaillant tes tableau et en utilisant des fo:inline...
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Mais il faut bien un contenant pour mon tableau, non ?

    block-container, c'est seulement si on utilise les blocks ?

    Je vais essayer et je te tiens au courant...

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    et pourquoi pas :

    ?
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Ben, sans block-container pour indiquer la position sur la page, je retrouve mon tableau tout en haut : Exemple2.pdf
    Ca le fait moyen...

    Le pb, c'est ces de sauts de page qui se font pas automatiquement.

    Quelqu'un a une idée ??

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Si je rajoute l'attribut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fo:table-row keep-together="always" height="60pt" break-after="page">
    il insère un saut de page après chaque ligne de mon tableau... mais sans créer de nouvelle page (toujours 1/1) : Exemple3.pdf

    Any idea ???

  10. #10
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    il est bo ton dernier pdf...non je

    tu peux stp poster ton "page-sequence" et ton "page-sequence-master"?
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Voili voilou (une partie était dans mon premier post) :
    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
    31
    32
    33
    34
    35
    	<xsl:template match="page">
     
    		<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
     
    			<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				Gabarit des pages
    				~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    			<fo:layout-master-set>
    				<!-- Definition of a single master page. It is simple (no headers etc.) -->
    				<fo:simple-page-master master-name="first"
    					page-width="21cm" page-height="29.7cm" 
    					margin-left="1cm" margin-right="1cm">
    					<fo:region-body margin-top="2.5cm" margin-bottom="2.5cm" />
    					<fo:region-before extent="3cm" />
    					<fo:region-after extent="1.5cm" />
    				</fo:simple-page-master>
    			</fo:layout-master-set>
     
    			<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				Affichage des données
    				~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    			<!-- Definition of a page sequence -->
    			<fo:page-sequence master-reference="first">
     
     
    				<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    					Flot de données
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    				<fo:flow flow-name="xsl-region-body" >
    .../...
    				</fo:flow>
    			</fo:page-sequence>
    			<!--  Lancement automatique de l'impression  <xsl:script type="text/javascript">window.print();</script>-->
    		</fo:root>
    	</xsl:template>

  12. #12
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    je voix rien qui cloche

    sinon je voix que tu n'a pas de "page-sequence-master"!!!!est ce oubli.?

    si t'en a pas tu peux essayer ceci :
    ajoute ceci à la fin de ton layout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
              <fo:page-sequence-master master-name="layout">
                   <fo:repeatable-page-master-reference master-reference="first"/>
              </fo:page-sequence-master>
    et dans ton "page-sequence" change le "master-reference" pour pointer le "page-sequence-master"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <fo:page-sequence master-reference="layout">
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Aïe, aïe, aïe, ça ne marche toujours pas .
    Je crois que je suis bien coincé, et en plus, c'est pour une commande d'un client...

  14. #14
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Bon, j'ai trouvé un cas qui fonctionne : Exemple4.pdf.
    J'ai retiré le block-container englobant le tableau, et les nouvelles pages se créent selon le besoin.

    Le pb maintenant, c'est comment positionner ce tableau dynamique à partir d'un certain niveau de la première page ??
    Voici notre nouveau challenge, petits hobbits que nous sommes .

  15. #15
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    à partir d'un certain niveau de la première page ??
    tu peux être plus precis (quel niveau?, quel tableau?, as-tu un aperçu?)
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Je veux dire comme dans le fichier Exemple.pdf (1ère version tout en haut), les tableaux dynamiques étant sous la partie statique de mon document.

    C'est bien "block-container" qui m'embête, mais je ne vois pas d'autre moyen pour positionner mes tableaux dynamiques à partir d'une certaine hauteur sur ma première page.

    Merci en tout cas de t'accrocher à cette discussion...

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Quand je vois ce document sur les containers, je me dis qu'ils sont assez souples d'emploi pourtant...

  18. #18
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    je ne peux pas trop t'aider sur les block-container (j'ueilise jamais) mais l'idée pour positionner tes tableau c'est par exemple de faire un tableau global et de jouer sur les column-spanned etc. (equivalent colspan, rowspan en html)

    ou tt simplement avec des block en adaptants leur différents attributs (padding, margin) et des fo:inline pour avoir des élement sur la même ligne..

    ps: ton derneir exemple, je ne suis pas certain que c juste du fop...
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  19. #19
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    J'ai suivi ton idée d'emglober tout dans un tableau : Exemple6.pdf

    Par contre, j'ai la partie statique existante à insérer dans la première cellule (verte), ce qui ne se fait pas du tout simplement.
    Je me bats avec les positionnement de mes block-containers .

    Tu dis que tu ne les utilises jamais, mais je vois pas comment m'en passer pour des positionnements très complexes (cf. exemples dans mes posts précédents, si tu vois comment mon document est chargé ).

    A+

  20. #20
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    je suis assez pris today, tu peux regarder ceci....

    http://www.developpez.net/forums/sho...d.php?t=174132

    il fait un truc qui ressemble un peu à ce tes blocks.
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2008, 14h44
  2. [XSL-FO][FOP] Occuper l'espace restant d'une page
    Par FreeCake dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 25/05/2007, 14h06
  3. [XSL~FO][FOP] Créer une ancre
    Par caro. dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/04/2007, 14h16
  4. [xsl][xslfo][fop]pas plus de 512 caractères
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/01/2006, 17h02
  5. XSL ne parvient pas à lire les noeuds XML ??
    Par yahn dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 27/06/2004, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo