我有这个layout-master-set
定义:
<fo:layout-master-set>
<fo:simple-page-master master-name="all-pages" page-width="210mm" page-height="297mm" margin="20mm 20mm 0mm 20mm" >
<fo:region-body margin-top="25mm" margin-bottom="35mm" />
<fo:region-before extent="20mm" />
<fo:region-after extent="30mm" />
</fo:simple-page-master>
<fo:simple-page-master master-name="last-page" page-width="210mm" page-height="297mm" margin="20mm 20mm 0mm 20mm" >
<fo:region-body margin-top="25mm" margin-bottom="115mm" />
<fo:region-before extent="20mm" />
<fo:region-after extent="110mm" region-name="region-last-page" />
</fo:simple-page-master>
<fo:page-sequence-master master-name="pages">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference page-position="last" master-reference="last-page"/>
<fo:conditional-page-master-reference page-position="any" master-reference="all-pages"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
如您所见,我希望最后一页呈现更大的region-after
,但我在第一页之后的所有页面上都获得了大region-after
,而all-pages
母版仅用于第一页?
有人认为该配置有问题吗?
PS:使用Fop 0.20.5
配置看起来没问题。但是,您应该为所有区域命名以消除歧义。
fo:page-sequence-master
定义正确,问题是您使用的 FOP 版本:0.20.5 可以追溯到 2003 年 (!),并且有几个错误和缺少的功能。
目前,最新发布的版本是 1.1,它按预期创建页面。
披露:我是一名 FOP 开发人员(尽管我已经多年不太活跃了)。