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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XSL-FO]fop et définir une marge spécifique en dernière page

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XSL-FO]fop et définir une marge spécifique en dernière page

n°1492896
mathieumat​hias
Posté le 18-12-2006 à 18:04:39  profilanswer
 

Bonjour @ tous,
 
J'ai un problème dont je ne trouve pas la solution tout seul, j'en appelle donc à la communauté des forumeurs ^^.
J'aimerai généré un pdf avec xsl-fo(fop) qui aurai une certaine mise en page, sauf pour la dernière page.
Pour l'instant,j'ai défini un seul style pour toutes les pages :  
 

Code :
  1. <fo:layout-master-set>
  2. <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="page" margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.5cm">
  3.  <fo:region-body margin-top="10.2cm" margin-bottom="6.1cm"/>
  4.  <fo:region-before extent="10cm"/>
  5.  <fo:region-after extent="3cm"/>
  6.  <!--pied de page de hauteur-->
  7. </fo:simple-page-master>
  8. </fo:layout-master-set>
  9. <fo:page-sequence master-reference="page">
  10. Tout mon code
  11. </fo:page-sequence>


 
Si vous pouvez m'indiquer la méthode à suivre pour que je puisse, dans le code, lors de la dernière page, augmenter fo:region-after à 5cm.
 
Merci @ tous.

mood
Publicité
Posté le 18-12-2006 à 18:04:39  profilanswer
 

n°1493177
avander
Posté le 19-12-2006 à 10:37:20  profilanswer
 

Le hic sera de déterminer quand on arrive à la dernière page...

n°1493551
quelme
Posté le 19-12-2006 à 15:45:20  profilanswer
 

Code :
  1. <fo:page-sequence-master master-name="twoside1">
  2.     <fo:repeatable-page-master-alternatives>
  3.       <fo:conditional-page-master-reference master-name="right1" odd-or-even="odd" />
  4.       <fo:conditional-page-master-reference master-name="left1" odd-or-even="even" />
  5.       <fo:conditional-page-master-reference master-name="last1" page-position="last" />
  6.     </fo:repeatable-page-master-alternatives>
  7.   </fo:page-sequence-master>


 
il y a surement une solution avec ceci


Message édité par quelme le 19-12-2006 à 15:45:48
n°1493588
mathieumat​hias
Posté le 19-12-2006 à 16:12:08  profilanswer
 

ouai effectivement j'ai trouvé une reponse qui ressemble à ça et qui devrait fonctionné :  

Code :
  1. <fo:layout-master-set>
  2. <fo:simple-page-master  master-name="normal" page-width="21cm" page-height="29.7cm" master-name="page" margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.5cm">
  3. <fo:region-body margin-top="10.2cm" margin-bottom="6.1cm"/>
  4. <fo:region-before extent="10cm"/>
  5. <fo:region-after extent="3cm"/>
  6. </fo:simple-page-master>
  7. <fo:simple-page-master  master-name="lastpage" page-width="21cm" page-height="29.7cm" master-name="page" margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.5cm">
  8. <fo:region-body margin-top="10.2cm" margin-bottom="6.1cm"/>
  9. <fo:region-before extent="10cm"/>
  10. <fo:region-after extent="5cm"/>
  11. </fo:simple-page-master>
  12. <fo:page-sequence-master master-name="sequence">
  13. <fo:repeatable-page-master-alternatives>
  14. <fo:conditional-page-master-reference
  15. page-position="first" master-reference="normal"/>
  16. <fo:conditional-page-master-reference
  17. page-position="rest" master-reference=normal"/>
  18. <fo:conditional-page-master-reference
  19. page-position="last" master-reference=lastpage"/>
  20. </fo:repeatable-page-master-alternatives>
  21. </fo:page-sequence-master>
  22. </fo:layout-master-set>


n°1494043
mathieumat​hias
Posté le 20-12-2006 à 11:33:32  profilanswer
 

Malgré tous mes efforts, j'ai l'impression que ça ne marche pas pour la dernière page.
En ajoutant un backgroun-color différent pour chaque simple-page-master, je m'aperçoit que la dernière page utilise le simple-page-master de rest alors que cela fonctionne correctemnt pour la première page et les reste du document.
Est-ce un problème d'implémentation dans FOP (encore un!)?
 
Après quelques tests, je me rends compte que si je met uniquement :
Code :
 

Code :
  1. <fo:conditional-page-master-reference page-position="first" master-reference="normal"/>
  2. <fo:conditional-page-master-reference page-position="last" master-reference="lastpage"/>


 
J'ai la première page avec le layout normal, puis toutes les autres pages avec le layout de last.
Est-ce qu'il y a des priorités entre les conditional-page-master-reference? j'ai essayé pas mal de combinaison mais à chaque fois il n'y en a que deux qui sont pris en compte. Voila ce qui ne marche pas :
any puis last
first puis last
rest puis last (exception fop)
first puis rest puis last
first puis any puis last
last (exception fop)
 
Vraiment incompréhensible...


Message édité par mathieumathias le 20-12-2006 à 11:36:15
n°1494113
mathieumat​hias
Posté le 20-12-2006 à 12:34:10  profilanswer
 

Apparemment c'est sûr, fop ne gère pas la dernière page.
Je pense peut être pouvoir faire ça avec des marqeurs mais la tâche s'annonce très difficile. J'ai déjà un marqueur pour afficher un footer différent sur la dernière page, maintenant il faut que ça marche pour agrandir le fo:region-after.
Des suggestions sont les bienvenues.

n°1495204
mathieumat​hias
Posté le 22-12-2006 à 10:21:27  profilanswer
 

up! toujours en recherche de solutions :pfff: . Please help!


Message édité par mathieumathias le 22-12-2006 à 10:21:39

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

  [XSL-FO]fop et définir une marge spécifique en dernière page

 

Sujets relatifs
pagination et couleur page en cours[Resolved] Problème avec css / page web
Formulaire de personnalisation de la pageun scientillement sur page web
Problème d'execution automatique de page htmlNombre de requete sql par page?
[PHP] - Suppr le contenu des balises <script></script> d'une page HTML[ASP .NET] Retour à l'endroit de la page où on était après un postback
afficher une nouvelle page[VBA-E] Mise en forme entête/pied de page
Plus de sujets relatifs à : [XSL-FO]fop et définir une marge spécifique en dernière page


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