Netsuite PDF模板:获取页数作为属性

Posted

技术标签:

【中文标题】Netsuite PDF模板:获取页数作为属性【英文标题】:Netsuite PDF Templating: get number of pages as attribute 【发布时间】:2016-10-01 09:31:18 【问题描述】:

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

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

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

【问题讨论】:

已经尝试过***.com/questions/16670704/…,但无法正常工作。 【参考方案1】:

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

不幸的是,根据BFO FAQ,仅在文档的最后一页添加页脚的功能目前是 BFO 的限制:

目前我们没有明确分配 页脚或页眉到文档最后一页时的数量 页面未知。

【讨论】:

【参考方案2】:

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

<pbr footer="nlfooter" footer-></pbr>
</body>

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

【讨论】:

以上是关于Netsuite PDF模板:获取页数作为属性的主要内容,如果未能解决你的问题,请参考以下文章

从子记录(或超链接)获取数据以在 netsuite 高级 html pdf 中打印

Netsuite 高级 PDF/HTML 模板:将页脚设置为仅显示在最后一页

Netsuite 高级 PDF/HTML 模板的脚本问题

Netsuite 账户报表 PDF/HTML 模板

使用 Netsuite 高级 PDF/HTML 模板进行条件打印(零值)

NetSuite:如何使用高级 PDF/HTML 模板在分组发票中引用自定义字段