XSL-FO 页面
XSL-FO は、"Page Masters" という名前のページテンプレートを使用して、ページのレイアウトを定義します。
XSL-FO 页面模板(Page Templates)
XSL-FO は、"Page Masters" という名前のページテンプレートを使用して、ページのレイアウトを定義します。各テンプレートには一意の名前が必要です。
<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>
上の例では、3つの <fo:simple-page-master> 要素が、3つの異なるテンプレートを定義しています。各テンプレート(page-master)には異なる名前があります。
最初のテンプレートは "intro" という名前です。これは紹介ページのテンプレートとして使用できます。
2番目と3番目のテンプレートは "left" と "right" という名前です。これらは偶数ページと奇数ページのページテンプレートとして使用できます。
XSL-FO 页面尺寸(Page Size)
XSL-FO は、次の属性を使用してページのサイズを定義します。
- page-width はページの幅を定義する
- page-height はページの高さを定義する
XSL-FO 页面边距(Page Margins)
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 ドキュメントから抽出した断片です。
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 ミリメートルです。
ページの4つのマージン(上マージン、下マージン、左マージン、右マージン)はすべて 1 センチメートルです。
ボディのマージンは 3 センチメートルです(4つの辺すべて)。
本体の before、after、start、および end 領域はすべて 2 センチメートルです。
上の例の本文の幅は、ページ幅から左右のマージンと region-body のマージンを差し引いて計算できます。
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
region(region-start と region-end)は計算に含まれないことに注意してください。前述のとおり、これらのリージョンはボディの一部です。
其他扩展