XSL-FO 頁(yè)面

2018-02-23 09:41 更新

XSL-FO 頁(yè)面

本節(jié)介紹在 XSL-FO 中頁(yè)面的布局是怎么樣形成的。

XSL-FO 使用名為 "Page Masters" 的頁(yè)面模板來(lái)定義頁(yè)面的布局。


XSL-FO 頁(yè)面模板(Page Templates)

XSL-FO 使用名為 "Page Masters" 的頁(yè)面模板來(lái)定義頁(yè)面的布局。每個(gè)模板必須擁有一個(gè)唯一的名稱:

<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> 

在上面的實(shí)例中,三個(gè) <fo:simple-page-master> 元素,定義了三個(gè)不同的模板。每個(gè)模板(page-master)都有不同的名稱。

第一個(gè)模板名為 "intro"。它可作為介紹頁(yè)面的模板使用。

第二個(gè)和第三個(gè)模板名為 "left" 和 "right"。它們可作為偶數(shù)和奇數(shù)頁(yè)碼的頁(yè)面模板使用。


XSL-FO 頁(yè)面尺寸(Page Size)

XSL-FO 使用下面的屬性定義頁(yè)面的尺寸:

  • page-width 定義頁(yè)面的寬度
  • page-height 定義頁(yè)面的高度

XSL-FO 頁(yè)面邊距(Page Margins)

XSL-FO 使用下面的屬性定義頁(yè)面的邊距:

  • margin-top 定義上邊距
  • margin-bottom 定義下邊距
  • margin-left 定義左邊距
  • margin-right 定義右邊距
  • margin 定義所有邊的邊距

提示:你可以在本站的“CSS屬性”中了解更多與頁(yè)面邊距屬性相關(guān)的知識(shí)!


XSL-FO 頁(yè)面區(qū)(Page Regions)

XSL-FO 使用下面的元素定義頁(yè)面的區(qū):

  • region-body 定義主體區(qū)
  • region-before 定義頂部區(qū)(頁(yè)眉)
  • region-after 定義底部區(qū)(頁(yè)腳)
  • region-start 定義左側(cè)區(qū)(左側(cè)欄)
  • region-end 定義右側(cè)區(qū)(右側(cè)欄)

請(qǐng)注意,region-before、region-after、region-start 以及 region-end 是主體區(qū)的一部分。為了避免主體區(qū)的文本覆蓋到這些區(qū)域的文本,主體區(qū)的邊距至少要等于其他區(qū)的尺寸。




XSL-FO 實(shí)例

這是從某個(gè) XSL-FO 文檔中提取的一個(gè)片斷:

<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> 

上面的代碼定義了一個(gè)名稱為 "A4" 的 "Simple Page Master Template"。

頁(yè)面的寬度是 297 毫米,高度是 210 毫米。

頁(yè)面的四個(gè)邊距(上邊距、下邊距、左邊距、右邊距)均為 1 厘米。

主體的邊距是 3 厘米(四個(gè)邊都是)。

主體的 before、after、start 以及 end 區(qū)均為 2 厘米。

上面的實(shí)例中的主體的寬度可通過(guò)頁(yè)面寬度減去左右邊距以及 region-body 的邊距來(lái)計(jì)算得出:

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

請(qǐng)注意,region(region-start 和 region-end)沒(méi)有被計(jì)算進(jìn)來(lái)。正如之前講解過(guò)的,這些區(qū)(region)是主體的組成部分。

以上就是有關(guān) XSL-FO 頁(yè)面的描述,在下一節(jié)中,將會(huì)介紹 XSL-FO 塊。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)