Página do XSL-FO
- Página Anterior Fluxo do XSLFO
- Próxima Página Bloco do XSLFO
O XSL-FO utiliza modelos de página chamados "Mestres de Página" para definir o layout da página.
Modelo de página do XSL-FO
O XSL-FO utiliza modelos de página chamados "Mestres de Página" para definir o layout da página. Cada modelo deve ter um nome único:
<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>
No exemplo acima, três elementos <fo:simple-page-master> definem três modelos diferentes. Cada modelo (page-master) tem um nome diferente.
O primeiro modelo é chamado "intro" e pode ser usado como modelo de página de introdução.
Os segundos e terceiros modelos são chamados "left" e "right" e podem ser usados para páginas de números de página pares e ímpares.
Tamanho de página do XSL-FO
O XSL-FO usa os seguintes atributos para definir o tamanho da página:
- page-width
- Definição da largura da página
- page-height
- Definição da altura da página
Margens de página do XSL-FO
O XSL-FO usa os seguintes atributos para definir as margens da página:
- margin-top
- Definição da margem superior
- margin-bottom
- Definição da margem inferior
- margin-left
- Definição da margem esquerda
- margin-right
- Definição da margem direita
- margin
- Definição das margens de todos os lados
Áreas de página do XSL-FO (Page Regions)
O XSL-FO usa os seguintes elementos para definir as áreas da página:
- region-body
- Definição da área principal
- region-before
- Definição da área superior (cabeçalho)
- region-after
- Definição da área inferior (rodapé)
- region-start
- Definição da área esquerda (coluna esquerda)
- region-end
- Definição da área direita (coluna direita)
Notas:region-before、region-after、region-start e region-end são parte da área principal. Para evitar que o texto da área principal cobre essas áreas, as margens da área principal devem ser pelo menos iguais ao tamanho dessas áreas.
Ilustração:

Exemplo XSL-FO
Esta é uma parte extraída de algum documento 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>
O código acima define um "Simple Page Master Template" com o nome "A4".
A largura da página é de 297 mm e a altura é de 210 mm.
As margens de todas as quatro laterais da página são de 1 cm.
As margens do corpo principal são de 3 cm (todos os quatro lados).
As regiões before, after, start e end são de 2 cm.
O exemplo acima calcula a largura do corpo principal subtraindo a largura da página, os margens laterais e as margens da region-body:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.
Notas:A região (region-start e region-end) não foi calculada. Como explicado anteriormente, essas regiões (region) são parte do corpo principal.
- Página Anterior Fluxo do XSLFO
- Próxima Página Bloco do XSLFO