gpt4 book ai didi

xsl-fo - 如何检测文档的最后一页?

转载 作者:行者123 更新时间:2023-12-04 05:24:57 25 4
gpt4 key购买 nike

我使用 FOP 从 xml 文件创建 pdf 文件。
我想在 pdf 的最后一页上显示一些内容。
问题是我不知道需要多少页来显示内容,所以我怎么知道我在实际的最后一页? (每个page-sequence可以根据内容的大小生成1+个文档页面)

谢谢。

最佳答案

您可以为一般页面布局以及页眉和页脚指定条件页面母版 (fo:static-content):
http://www.w3.org/TR/xsl/#page-position

用法:

1.) 在您的 fo:layout-master-set 中,定义您想要拥有的不同页面母版。例如,一个普通的页面母版和最后一页的一个应该是不同的。

普通页面母版的示例:

<fo:simple-page-master master-name="page-master-161302528-normal"
margin-left="2cm" margin-right="2cm" page-height="297mm"
page-width="210mm">
<fo:region-body margin-top="3.5cm" margin-bottom="41mm"
column-count="1" column-gap="0.50in" />
<fo:region-before region-name="normal-header"
overflow="visible" extent="2cm" />
<fo:region-after region-name="normal-footer"
overflow="visible" extent="40mm" precedence="true" />
</fo:simple-page-master>

2.) 在 fo:layout-master-set 中定义一个 fo:page-sequence-master - 在这里添加条件:
<fo:page-sequence-master master-name="page-master-161302528">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="page-master-161302528-last" page-position="last"/>
<fo:conditional-page-master-reference master-reference="page-master-161302528-normal" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

3.) 在您的文档中,为您定义的 fo 元素(fo:static-content 和 fo:page-sequence)提供主引用 - 如果相应的主处于事件状态,则应呈现相应的元素。 fo:static-content 元素必须根据上面的 fo:simple-page-master 将区域名称命名为流名称属性。

示例:
<fo:page-sequence force-page-count="no-force"
master-reference="page-master-161302528" initial-page-number="auto"
format="1">
<fo:static-content flow-name="normal-header">...</fo:static-content>
</fo:page-sequence>

在这个整体示例中,特定页面页眉和页脚的选择是通过流名称进行的,该流名称对于普通页眉/页脚(例如“普通页眉”)和最后一页页眉/页脚(例如“last -页头”)。

关于xsl-fo - 如何检测文档的最后一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13299809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com