XSL-FO 条件页面主引用使用最后一个页母版保持呈现 2+ 页



我有这个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 开发人员(尽管我已经多年不太活跃了)。

最新更新