我有一个问题,只能在首页保留“之前的区域”。查看我的代码:
<fo:layout-master-set>
<fo:simple-page-master master-name="first" margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.75cm" page-width="21cm" page-height="29.7cm">
<fo:region-body region-name="xsl-region-body" margin-top="{$extra-body-margin-top+15.6-$header-margin}cm" margin-bottom="3.5cm" />
<fo:region-before region-name="xsl-region-before" extent="17cm" overflow="hidden" />
<fo:region-after region-name="xsl-region-after" extent="2.8cm" overflow="hidden" />
</fo:simple-page-master>
<fo:page-sequence-master master-name="psmA">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first" page-position="any" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
如果我更改page-position =“ first”并且我的region-body超过了第一页,则会出现错误。我的想法是仅在第一页上保留区域,但在下一页上保留region-body和region-footer。有什么容易玩的代码吗?
答案 0 :(得分:1)
fo:simple-page-master
的{{1}}。fo:region-before
,以便仅在第一页上使用fo:conditional-page-master-reference
页面母版(使用first
),其余页面上使用其他页面母版(使用{{ 1}})。之所以可行,是因为格式化程序使用所有条件都为真的第一个替代方法(请参见https://www.w3.org/TR/xsl11/#fo_repeatable-page-master-alternatives)。这也是为什么您将page-position="first"
放在最后的原因,因为该条件始终为真。
page-position="any"