xsl:fo和apache fop的页码编号问题

时间:2014-03-24 10:23:10

标签: xslt xsl-fo apache-fop

我有以下(部分)xsl:fo模板

<fo:root font-size="11pt" font-family="Arial">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="A4-portrait"
              page-height="29.7cm" page-width="21.0cm" margin-top="1cm"
              margin-left="1.5cm" margin-right="1cm" margin-bottom="1cm">
      <fo:region-body />
      <fo:region-after region-name="footer" extent="15mm"/>
    </fo:simple-page-master>
    <fo:simple-page-master master-name="A4-landscape"
              page-width="29.7cm" page-height="21.0cm" margin-top="1cm"
              margin-left="1cm" margin-right="1cm" margin-bottom="1cm">
      <fo:region-body />
      <fo:region-after region-name="footer2" display-align="bottom" extent="0cm"/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="A4-portrait">
    ...........
  </fo:page-sequence>
  <fo:page-sequence master-reference="A4-landscape" font-size="8pt" id="end">
    <fo:static-content flow-name="footer2" font-size="7pt" font-family="Arial">
      <fo:block text-align="center">
                Page <fo:page-number/>/<fo:page-number-citation ref-id="end"/>
      </fo:block>
    </fo:static-content>
    <fo:flow flow-name="xsl-region-body">
     ........................
    </fo:flow>
  </fo:page-sequence>
</fo:root>

第一个page-sequence只生成一个页面。第二个page-sequence生成多个页面(例如9个),我想要&#34;装饰&#34;用页脚我可以显示页码。问题是 - 对于最后一页,<fo:page-number>从第一页序列生成10,1,从第二页序列生成9;并且<fo:page-number-citation ref-id="end"/>生成9.因此,第9页中的第10页听起来像是溢出而且令人尴尬。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我希望有一天能帮助某人,我找到了解决方案。我应该使用<fo:page-number-citation-last ref-id="end"/>