Page XSL-FO
- Page précédente Flux XSLFO
- Page suivante Bloc XSLFO
XSL-FO utilise des modèles de page nommés "Page Masters" pour définir la mise en page des pages.
Modèle de page XSL-FO
XSL-FO utilise des modèles de page nommés "Page Masters" pour définir la mise en page des pages. Chaque modèle doit avoir un nom unique :
<fo:simple-page-master master-name="intro"> <fo:region-body margin="5in" /> </fo:simple-page-master> <fo:simple-page-master master-name="left"> <fo:region-body margin-left="2in" margin-right="3in" /> </fo:simple-page-master> <fo:simple-page-master master-name="right"> <fo:region-body margin-left="3in" margin-right="2in" /> </fo:simple-page-master>
Dans l'exemple ci-dessus, trois éléments <fo:simple-page-master> définissent trois modèles différents. Chaque modèle (page-master) a un nom différent.
Le premier modèle s'appelle "intro" et peut être utilisé comme modèle de page d'introduction.
Les deuxièmes et troisièmes modèles s'appellent "left" et "right" et peuvent être utilisés pour les pages pair et impair.
Taille de page XSL-FO
XSL-FO utilise les attributs suivants pour définir la taille de la page :
- page-width
- Définir la largeur de la page
- page-height
- Définir la hauteur de la page
Marges de page XSL-FO
XSL-FO utilise les attributs suivants pour définir les marges de la page :
- margin-top
- Définir la marge du haut
- margin-bottom
- Définir la marge du bas
- margin-left
- Définir la marge de gauche
- margin-right
- Définir la marge de droite
- margin
- Définir les marges de tous les côtés
Zones de page XSL-FO (Page Regions)
XSL-FO utilise les éléments suivants pour définir les zones de la page :
- region-body
- Définir la zone principale
- region-before
- Définir la zone du haut (en-tête de page)
- region-after
- Définir la zone du bas (pied de page)
- region-start
- Définir la zone de gauche (colonne de gauche)
- region-end
- Définir la zone de droite (colonne de droite)
Remarque :region-before、region-after、region-start et region-end font partie de la zone principale. Pour éviter que le texte de la zone principale ne couvre ces zones, les marges de la zone principale doivent être au moins égales à la taille des autres zones.
Illustration :

Exemple XSL-FO
Ceci est un extrait extrait d'un document XSL-FO :
<fo:simple-page-master master-name="A4"> page-width="297mm" page-height="210mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm"> <fo:region-body margin="3cm"/> <fo:region-before extent="2cm"/> <fo:region-after extent="2cm"/> <fo:region-start extent="2cm"/> <fo:region-end extent="2cm"/> </fo:simple-page-master>
Le code suivant définit un "Simple Page Master Template" nommé "A4".
La largeur de la page est de 297 mm, la hauteur est de 210 mm.
Les marges des quatre côtés de la page sont de 1 cm.
Les marges du corps principal sont de 3 cm (tous les quatre côtés).
Les zones before, after, start et end sont de 2 cm.
La largeur du corps principal dans l'exemple précédent peut être calculée en soustrayant la largeur de la page, les marges latérales et les marges de region-body :
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.
Remarque :La zone region (region-start et region-end) n'est pas prise en compte. Comme précédemment expliqué, ces zones (region) font partie du corps principal.
- Page précédente Flux XSLFO
- Page suivante Bloc XSLFO