2014-01-22 38 views
3

我有三个页面序列来处理三种不同类型的页面:封面页面,内容列表之前的一系列页面以及内容列表之后的一系列页面。每个页面序列都有一些独特的属性。例如,封面没有页眉或页脚,TOC前面的页码是小写的罗马数字,TOC后面的页面用阿拉伯数字编号。在“TOC之后”序列的情况下,我希望页码以“1”开头。要做到这一点,我设置的初始页号码属性为“1”:XSLFO初始页码插入空白页面

<fo:page-sequence master-reference="my-sequence" format="1" initial-page-number="1"> 

这工作,因为该序列的第一页显示了巨大的“1”的页码。但是,如果该序列的第一页将落在偶数页上,则插入自动空白页,以便内容落在奇数页上。我不希望发生这种情况。无论内容是在奇数页还是偶数页开始,我都希望页码为“1”,我不希望插入空白页。

有关如何完成此任何想法?它似乎应该是非常简单的,但我一直无法找到一种方法来获得我想要的结果。任何帮助将不胜感激!

谢谢!

回答

5

这对我有效。在前一节中(在这种情况下,“TOC之前”),我添加了以下属性:force-page-count =“no-force”。这导致下一节开始在偶数页上编号为“1”。下面是完整的线:

<fo:page-sequence master-reference="my-sequence" format="i" force-page-count="no-force"> 
8

这里的窍门是出现问题的地方有2 <fo:page-sequence>定义,并要设置第二个于初始数字1和它落在偶数页上;通常,奇数页码位于偶数页面的反面,因此解析器会在第一页序列中添加一个空白页面以保持编号系统的顺序。

要覆盖此行为,你需要添加force-page-count="no-force"第一序列

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="my-master"> 
      <fo:region-body/> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="my-master" force-page-count="no-force"> 
     <fo:flow flow-name="xsl-region-body"> 
      <fo:block>First Sequence</fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    <fo:page-sequence master-reference="my-master" initial-page-number="1"> 
     <fo:flow flow-name="xsl-region-body"> 
      <fo:block>Second sequence</fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
</fo:root>