试图在XSL-FO中插入空白页面

时间:2014-12-01 12:08:36

标签: xslt xsl-fo

我试图插入空白页作为某些章节的最后一页。例如,我想在封面页后面有一个空白页面。我是这样做的:

    <fo:page-sequence-master master-name="cover_pagemaster" force-page-count="even">
       <fo:repeatable-page-master-alternatives>
          <fo:conditional-page-master-reference master-reference="cover" page-position="any" />
           <fo:conditional-page-master-reference master-reference="empty_page" page-position="last" blank-or-not-blank="blank" />
       </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>

它应该是两页,一页有封面,一页是空白。为什么不这样做?

Thanx寻求帮助!

编辑:

        <fo:page-sequence-master master-name="cover_pagemaster" force-page-count="even">
           <fo:repeatable-page-master-alternatives>
                <fo:conditional-page-master-reference master-reference="empty_page" page-position="last" blank-or-not-blank="blank" />
                <fo:conditional-page-master-reference master-reference="cover" page-position="first" />
           </fo:repeatable-page-master-alternatives>
        </fo:page-sequence-master>

好吧,我现在尝试了不同的组合,它仍然无法正常工作。甚至强力页数也没有用(我使用的是Antenna House的评估版)。

我无法找到一个xsl-fo代码的工作示例,该代码生成一个空白页面作为两页页面主页的第二页。

第二次编辑:

    <fo:simple-page-master master-name="cover" page-height="29.7cm" page-width="21cm">
       <fo:region-body />
    </fo:simple-page-master>

    <fo:simple-page-master master-name="empty_page">
       <fo:region-body />
    </fo:simple-page-master>

然后在页面序列中:

 <fo:page-sequence master-reference="cover_pagemaster">
    <fo:flow flow-name="xsl-region-body">
       <fo:block-container absolute-position="absolute" top="70mm" left="30mm">
          <fo:block>
             <fo:external-graphic src="coverpage.png" content-width="140mm" content-height="90mm" />
          </fo:block>
       </fo:block-container>
       <fo:block-container text-align="right" hyphenate="true" absolute-position="absolute" font-family="Calibri" font-size="4em" top="200mm" left="42mm" margin-right="10mm">
          <fo:block>COVERPAGE</fo:block>
          <fo:block>TEST</fo:block>
          <fo:block>ABSOLUTE POSITIONING
          </fo:block>
       </fo:block-container>
    </fo:flow>
 </fo:page-sequence

1 个答案:

答案 0 :(得分:1)

按顺序处理repeatable-page-master-alternatives列表。因此,当格式化程序处理章节的最后一页时,它将遍历列表,并且它将看到第一个条目(page-position =“any”)的条件对此页面有效。所以最后一页被分配“封面”,而没有检查备选的完整列表 因此,您应该构建可重复页面主页替代的列表,以便在更常见的页面(左,右,任何)之前列出例外(第一页,最后一页)。

修改

现在他们的顺序正确。但是你已经指定了blank-or-not-blank="blank"。这意味着“如果页面为空白(即不包含正文),则仅使用此母版页” 第二页目前是什么样的?使用哪个母版页?

编辑2
在force-page-count属性中,您必须使用“end-on-even”而不是“even”。