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

Posted

技术标签:

【中文标题】试图在 XSL-FO 中插入空白页【英文标题】:trying to insert a blank page in XSL-FO 【发布时间】:2015-01-29 10:33:56 【问题描述】:

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

    <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>

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

感谢您的帮助!

编辑:

        <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>

嗯,我现在尝试了不同的组合,但它仍然不起作用。甚至 force-page-count 都不起作用(我正在使用 Antenna House 的评估版)。

我只是找不到 xsl-fo 代码的工作示例,该代码生成一个空白页作为双页页面主文件的第二页。

第二次编辑:

    <fo:simple-page-master master-name="cover" page- page->
       <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- content- />
          </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

【问题讨论】:

在 force-page-count 属性中,您必须使用“end-on-even”而不是“even”。 【参考方案1】:

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

编辑

现在它们的顺序正确。但是您指定了blank-or-not-blank="blank"。这意味着“仅当页面为空白(即不包含正文)时才使用此母版页”。 第二页目前是什么样子的?使用哪个母版页?

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

【讨论】:

我的意思是输出中发生了什么?封面之后的页面是否属于cover_pagemaster页面序列,如果是,它选择哪个母版页替代? 它现在工作了!非常感谢!除了我没有使用 end-on-even 的事实之外,我不明白“偶数”和“奇数”在整个文档中的位置。我认为,对于每个页面序列主控,计数都是从新开始的。

以上是关于试图在 XSL-FO 中插入空白页的主要内容,如果未能解决你的问题,请参考以下文章

在word中如何在空白页加上图片背景

jsp插入数据的时候,页面空白,怎么解决?

如何删除word最后一页空白页?

正解LaTex插入空白页

正解LaTex插入空白页

试图显示数据库中的数据,只得到空白页