流主体中的最后一块位于最后一页的底部

时间:2019-03-20 20:40:05

标签: xml xsl-fo

如何使fo:block正文中的最后fo:flow对准最后一页的底部?

我并不是说每页的页脚部分,都可以,但是我想在最后一页的底部放置流主体中的最后一块。

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

是否可以采取某种方式?

2 个答案:

答案 0 :(得分:1)

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


您也许可以将最后一块放在fo:block-container内,并将fo:block-container绝对定位在页面底部。


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

  • 为最后一页单独制作一个fo:simple-page-master
  • 在该页面上使用一个fo:region-aftermaster-name与之不同的
  • display-align="after"上指定fo:region-after,以确保其内容显示在底部
  • 在您的fo:page-sequence-master中,使用fo:repeatable-page-master-alternatives,其中包含fo:conditional-page-master-reference的{​​{1}}早于page-position="last"并选择最后一页的页面母版
  • fo:page-sequence中,将fo:static-content与{{1}的master-reference的{​​{1}}的{​​{1}}匹配的flow-name页面
  • 将最后一个块内容放入该xsl:region-after

答案 1 :(得分: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>
  • 此块将与前一块(至少一块)一起放在最后一页
  • 它与前一行之间的最佳间隔大于身体区域的高度,但是最小间隔要小得多,因此可以“压缩”(您可能要根据自己的喜好调整最小值)< / li>
  • 结果是格式化程序会将页面中的最后一个块与上一个块(位于主体区域的底部)尽可能远地放置