XSL-FO 使用名為 "Page Masters" 的頁面模板來定義頁面的布局。
XSL-FO 頁面
XSL-FO 頁面模板
XSL-FO 使用名為 "Page Masters" 的頁面模板來定義頁面的布局。每個模板必須擁有一個唯一的名稱:
<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>
在上面的例子中,三個 <fo:simple-page-master> 元素,定義了三個不同的模板。每個模板(page-master)都有不同的名稱。
第一個模板名為 "intro"。它可作為介紹頁面的模板使用。
第二個和第三個模板名為 "left" 和 "right"。它們可被用于偶數和奇數頁碼的頁面。
XSL-FO 頁面尺寸
XSL-FO 使用下面的屬性來定義頁面尺寸:
- page-width
- 定義頁面的寬度
- page-height
- 定義頁面的高度
XSL-FO 頁面邊距
XSL-FO 使用下面的屬性定義頁面邊距:
- margin-top
- 定義上邊距
- margin-bottom
- 定義下邊距
- margin-left
- 定義左邊距
- margin-right
- 定義右邊距
- margin
- 定義所有邊的邊距
XSL-FO 頁面區(Page Regions)
XSL-FO 使用下面的元素來定義頁面的區:
- region-body
- 定義主體區
- region-before
- 定義頂部區 (頁眉)
- region-after
- 定義底部區 (頁腳)
- region-start
- 定義左側區 (左側欄)
- region-end
- 定義右側區 (右側欄)
注釋:region-before、region-after、region-start 以及 region-end 是主體區的一部分。為了避免主體區的文本覆蓋到這些區域,主題區的邊距至少要等于其他區的尺寸。
圖示:

XSL-FO 實例
這是從某個 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>
上面的代碼定義了名稱為 "A4" 的 "Simple Page Master Template"。
頁面的寬度是 297 毫米,高度是 210 毫米。
頁面的四個邊距均為 1 厘米。
主體的邊距是 3 厘米(四個邊都是)。
before、after、start 以及 end 區均為 2 厘米。
上面的例子中的主體的寬度可通過頁面寬度減去左右邊距以及 region-body 的邊距來計算得出:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.
注釋:region (region-start 和 region-end) 沒有被計算進來。正如之前講解過的,這些區(region)是主體的組成部分。