我有三种页面顺序来处理三种不同的typea页面:封面,目录之前的一系列页面以及目录之后的一系列页面。每个页面序列都有一些独特的属性。例如,封面没有页眉或页脚,TOC之前的页面是小写罗马数字,而TOC之后的页面是阿拉伯数字。对于“after TOC”序列,我希望页码以“1”开头。为此,我将的initial-page-number属性设置为“1”:

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

这很有用,因为该序列的第一页显示页码为“1”。但是,如果该序列的第一页将落在偶数页上,则会插入一个自动空白页,以使内容落在奇数页上。我不希望这种情况发生。无论内容是从奇数页还是偶数页开始,我都希望页码为“1”,并且我不想插入空白页。

关于如何做到这一点的任何想法?似乎应该很简单,但是我一直无法找到一种获得所需结果的方法。任何帮助将不胜感激!

谢谢!

最佳答案

这里的窍门是,当定义了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>

关于xsl-fo - XSLFO初始页号插入空白页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21272671/

10-12 21:12