1

我的要求是在一个页面中生成一个页面。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 之类的地方,但找不到任何东西。

4

1 回答 1

0

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

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

根据规范,拥有fo:page-sequence另一个fo:page-sequence是无效的(那么页码意味着什么?),并且每个都根据定义开始一个新的物理页面。fo:page-sequence

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

于 2013-02-27T15:54:45.300 回答