最后一页底部流体的最后一个块

问题描述 投票:2回答:2

我怎样才能让fo:block身体的最后一个fo:flow在最后一页的底部对齐?

我不是指每页上的页脚部分,没关系,但我想在最后一页底部的流体中有最后一个块。

流体的内容是多种多样的,我不知道,最后一个块部分的高度是多少。

有可能以某种方式吗?

xml xsl-fo
2个回答
1
投票

如果您使用的是AH Formatter,则可以将最后一个块浮动到页面底部。


您可以将最后一个块放在fo:block-container中,并将fo:block-container绝对放在页面底部。


您可以将最后一个块放在仅显示在最后一页的页脚中:

  • 为最后一页制作一个单独的fo:simple-page-master
  • 在该页面上使用fo:region-after值与master-name值不同
  • display-align="after"上指定fo:region-after以确保其内容显示在底部
  • 在你的fo:page-sequence-master中,使用包含fo:repeatable-page-master-alternativesfo:conditional-page-master-reference,在page-position="last"的替代品的早期,并选择你的页面主页为最后一页
  • fo:page-sequence,制作一个fo:static-contentmaster-reference匹配flow-namexsl:region-afterfo:simple-page-master为最后一页
  • 将最后一个块内容放在fo:static-content

0
投票

一个应该有效的简单技巧(我用FOP 2.3成功测试了它):

<fo:block keep-with-previous.within-page="always" 
    space-before.minimum="1cm" 
    space-before.optimum="30cm" 
    space-before.maximum="30cm">
    Text at the end of the last page
</fo:block>
  • 此块将与前一个块(至少一部分)一起放在最后一页中
  • 它与前一行之间的最佳间距大于体区高度,但最小空间要小得多,因此可以“挤压”(您可能希望根据自己的喜好调整最小值)
  • 结果是格式化程序将最后一个块放在页面中尽可能远离前一个块,该块位于正文区域的底部
© www.soinside.com 2019 - 2024. All rights reserved.