0

我正在使用 freemarker 在 Netsuite 中模板化 pdf,我只想在最后一页上显示页脚。我一直在做一些研究,但找不到解决方案(因为看起来环境不允许我包含或导入库),所以我认为只需将页数与 if 标记中的总页数进行比较将是一个不错且简单的解决方法。我已经知道如何使用<pagenumber/>and<totalpages/>标记来显示数字,但仍然无法将它们作为值获取,因此我可以像这样使用它们:

<#if (pagenumber == totalpages) >
    ... footer html...
</#if>

关于如何或从哪里获得这些值的任何想法?

4

2 回答 2

1

您尝试的方法不起作用,因为您正在混合 BFO 和 Freemarker 语法。Netsuite 使用两种不同的“引擎”来处理 PDF 模板。第一步是 Freemarker,它将记录字段与您的模板合并并生成一个 XML 文件,然后由 BFO 将其转换为 PDF 文件。该<totalpages/>元素对 Freemarker 没有意义,因为它只是在稍后由 BFO 转换为数字。

不幸的是,根据BFO 常见问题解答,目前只能在文档的最后一页添加页脚是 BFO 的限制:

目前,当页数未知时,我们没有为文档的最后一页显式分配页脚或页眉的工具。

于 2016-06-02T01:19:19.070 回答
0

您可以在分页符后添加它 - 并将分页符放在正文的末尾

<pbr footer="nlfooter" footer-height="25%"></pbr>
</body>

这里的问题是 - 在单页输出上 - 您至少会得到 2 页......它总是会为免责声明/页脚添加一个页面......

于 2017-07-19T18:19:29.033 回答