XSLFO 教程
本章節(jié)介紹在 XSL-FO 中頁面的布局是怎么樣形成的。
XSL-FO 使用名為 "Page Masters" 的頁面模板來定義頁面的布局。
XSL-FO 使用名為 "Page Masters" 的頁面模板來定義頁面的布局。每個模板必須擁有一個唯一的名稱:
在上面的實例中,三個 <fo:simple-page-master> 元素,定義了三個不同的模板。每個模板(page-master)都有不同的名稱。
第一個模板名為 "intro"。它可作為介紹頁面的模板使用。
第二個和第三個模板名為 "left" 和 "right"。它們可作為偶數(shù)和奇數(shù)頁碼的頁面模板使用。
XSL-FO 使用下面的屬性定義頁面的尺寸:
XSL-FO 使用下面的屬性定義頁面的邊距:
XSL-FO 使用下面的元素定義頁面的區(qū):
請注意,region-before、region-after、region-start 以及 region-end 是主體區(qū)的一部分。為了避免主體區(qū)的文本覆蓋到這些區(qū)域的文本,主體區(qū)的邊距至少要等于其他區(qū)的尺寸。
這是從某個 XSL-FO 文檔中提取的一個片斷:
上面的代碼定義了一個名稱為 "A4" 的 "Simple Page Master Template"。
頁面的寬度是 297 毫米,高度是 210 毫米。
頁面的四個邊距(上邊距、下邊距、左邊距、右邊距)均為 1 厘米。
主體的邊距是 3 厘米(四個邊都是)。
主體的 before、after、start 以及 end 區(qū)均為 2 厘米。
上面的實例中的主體的寬度可通過頁面寬度減去左右邊距以及 region-body 的邊距來計算得出:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
請注意,region(region-start 和 region-end)沒有被計算進來。正如之前講解過的,這些區(qū)(region)是主體的組成部分。