XSL-FO Página


XSL-FO utiliza plantillas de página denominadas "Page Masters" para definir el diseño de la página.


XSL-FO Plantillas de página (Page Templates)

XSL-FO utiliza plantillas de página llamadas "Page Masters" para definir el diseño de la página. Cada plantilla debe tener un nombre ú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>

En el ejemplo anterior, tres elementos <fo:simple-page-master> definen tres plantillas diferentes. Cada plantilla (page-master) tiene un nombre diferente.

La primera plantilla se llama "intro". Puede usarse como plantilla para la página de introducción.

La segunda y tercera plantillas se llaman "left" y "right". Pueden usarse como plantillas de página para números de página pares e impares.


XSL-FO Tamaño de página (Page Size)

XSL-FO utiliza los siguientes atributos para definir el tamaño de la página:

  • page-width define el ancho de la página
  • page-height define la altura de la página

XSL-FO Márgenes de página (Page Margins)

XSL-FO utiliza los siguientes atributos para definir los márgenes de la página:

  • margin-top define el margen superior
  • margin-bottom define el margen inferior
  • margin-left define el margen izquierdo
  • margin-right define el margen derecho
  • margin define los márgenes de todos los lados

XSL-FO Regiones de página (Page Regions)

XSL-FO utiliza los siguientes elementos para definir las regiones de la página:

  • region-body define la región del cuerpo
  • region-before define la región superior (encabezado)
  • region-after define la región inferior (pie de página)
  • region-start define la región izquierda (barra lateral izquierda)
  • region-end define la región derecha (barra lateral derecha)

Tenga en cuenta que region-before, region-after, region-start y region-end son parte de la región del cuerpo. Para evitar que el texto de la región del cuerpo cubra el texto de estas regiones, los márgenes de la región del cuerpo deben ser al menos iguales al tamaño de las otras regiones.

Margins and page layout

XSL-FO Ejemplo

Este es un fragmento extraído de un 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>

El código anterior define una "Simple Page Master Template" llamada "A4".

El ancho de la página es de 297 milímetros y la altura de 210 milímetros.

Los cuatro márgenes de la página (superior, inferior, izquierdo y derecho) son de 1 centímetro.

El margen del cuerpo es de 3 centímetros (en los cuatro lados).

Las regiones before, after, start y end del cuerpo son de 2 centímetros.

El ancho del cuerpo en el ejemplo anterior se puede calcular restando los márgenes izquierdo y derecho y los márgenes de region-body del ancho de la página:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm

Tenga en cuenta que las regiones (region-start y region-end) no se incluyen en el cálculo. Como se explicó anteriormente, estas regiones son parte del cuerpo.


Otras extensiones