我有三个页面序列来处理三种不同类型的页面:封面页,内容列表之前的一系列页面,以及目录之后的一系列页面。每个页面序列都有一些独特的属性。例如,封面页没有页眉或页脚,TOC之前的页面是小写罗马数字的数字,TOC之后的页面用阿拉伯数字编号。在“TOC之后”序列的情况下,我希望页码以“1”开头。为此,我将first的page-number属性设置为“1”:
<fo:page-sequence master-reference="my-sequence" format="1" initial-page-number="1">
这很有效,因为该序列的第一页显示的页码为“1”。但是,如果该序列的第一页将落在偶数页上,则插入自动空白页以使内容落在奇数页上。我不希望这种情况发生。无论内容是从奇数页还是偶数页开始,我希望页码为“1”,我不想插入空白页。
关于如何实现这一目标的任何想法?看起来它应该是非常简单的,但我还没有找到一种方法来获得我想要的结果。任何帮助将不胜感激!
谢谢!
答案 0 :(得分:10)
这里的诀窍是问题发生在定义了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>
答案 1 :(得分:5)
这对我有用。在前一节(在本例中,“在TOC之前”)中,我添加了以下属性:force-page-count =“no-force”。这导致下一部分在数字为“1”的偶数页面上开始。这是完整的一行:
<fo:page-sequence master-reference="my-sequence" format="i" force-page-count="no-force">
答案 2 :(得分:0)
对于我的Apache FOP v1.0,我必须在每个序列中都放置两个标签,以便抑制偶数页面,并将每个部分的页面号重置为1(按预期增加w / ia部分的页面增量)。 / p>
<fo:page-sequence master-reference="transcript" force-page-count="no-force" initial-page-number="1" >