【问题标题】:XSL-FO: Need to disable page break at page sequence levelXSL-FO:需要在页面序列级别禁用分页符
【发布时间】:2013-01-22 13:33:22
【问题描述】:

我的要求本质上是在一个页面中生成一个页面。 xsl 定义了 A4 纸大小的 1/3 的页面,但其中最多 3 个必须打印在纸上。该页面是一个标准的页眉/正文/页脚,上面有一个“Y 页 X”,当然它很简单。但如果这些“页面”有 4 个,则只应打印 2 页,第一页 3 页,第二页 1 页。但是打印了 4 页,因为输出的 PDF “告诉”打印机是一张完整的纸张。所以我想做的是:

  • 对 fo 进行编码,使其在完成页面后不会分页(类似于page-break-after="avoid",但在页面序列级别) 或者

  • 在页面序列中生成页面序列,外部定义为 A4 尺寸,内部 1/3。

我已经以一种简单的方式直接尝试了第二个,即,

<fo:page-sequence master-reference="A4">
  <fo:page-sequence master-reference="one-third_A4">
    ...  
  </fo:page-sequence>
</fo:page-sequence>

..处理器肯定不喜欢它。

是否有任何我可以应用的说明可以做到这些?我查看了 schemacentral 和 w3schools.com 之类的地方,但找不到任何东西。

【问题讨论】:

    标签: xslt xsl-fo


    【解决方案1】:

    不确定我是否理解您的需求(绘图会有所帮助),但您不能简单地将您的内容放入一系列具有指定高度的fo:block-container 元素中吗?它们会垂直堆叠出来。

    如果您需要更复杂的几何图形,请查看 XSL 1.1 的 flow-maps 功能。每页三个正文区域按顺序连接在一个&lt;fo:flow-target-list&gt; 中,一个fo:flow 为它们提供内容。

    根据spec,在另一个fo:page-sequence 中包含fo:page-sequence 是无效的(那么页码意味着什么?),并且每个fo:page-sequence 都会根据定义开始一个新的物理页。

    fo:page-sequence-wrapper 也不会在子页面级别为您提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 2013-07-18
      • 1970-01-01
      • 2013-01-01
      • 2012-07-28
      • 2010-09-18
      • 1970-01-01
      相关资源
      最近更新 更多