【问题标题】:How to make a fo:block not affect page layout?如何使 fo:block 不影响页面布局?
【发布时间】:2017-06-29 23:25:42
【问题描述】:

我在页面序列末尾使用带有 id 的空 fo:block 并在目录中引用它以获取结束页码,但我只是有一个页面文本所在的实例在最底部添加空的fo:block 会导致在文本之后添加一个空白页。

如何插入一个带有 id 的空 fo:block 而不影响分页?我认为添加属性 visibility='collapse' 会起作用,但我正在查看的文档说:

collapse:如果用于行或列以外的元素,“collapse”与“hidden”含义相同。

hidden:生成的框是不可见的(完全透明),但仍然 影响布局。

如何告诉最后一个fo:block 不影响页面布局?这是我目前拥有的 FO 输出:

          ...
        </fo:table-and-caption>
      </fo:block>
      <fo:block id="123456" />
    </fo:block>
  </fo:flow>
</fo:page-sequence>
...

【问题讨论】:

  • 在块上设置与上一个保持一致并将字体大小设置为 ro 0pt 和行高为 0。

标签: xsl-fo


【解决方案1】:

如果要获取 fo:page-sequence 的结束页码,请在 toc 中使用 fo:page-number-citation-last,而不是生成 dummy fo:block。

6.6.12 fo:page-number-citation-last

https://www.w3.org/TR/xsl11/#fo_page-number-citation-last

这里是示例 FO sn-p:

<fo:page-sequence master-reference="spm" font-size="10pt" id="page-seq-001">
    <fo:static-content flow-name="xsl-region-after">
      <fo:block><fo:page-number/></fo:block>
    </fo:static-content>

    <fo:flow flow-name="xsl-region-body">
        <fo:block font-size="2em">TOC</fo:block>
        <fo:block>
            Last page 
            <fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
            <fo:page-number-citation-last ref-id="page-seq-001"/>
        </fo:block>
        ...

这将被格式化如下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    相关资源
    最近更新 更多