You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NetSuite高级PDF模板中以阿拉伯数字打印日期和商品价格

NetSuite高级PDF模板运行时格式转换操作方法

NetSuite高级PDF/HTML模板基于FreeMarker渲染引擎,你可以通过内置的格式处理函数,在运行时直接完成日期、价格的阿拉伯数字格式转换,无需额外脚本:

一、前置配置(可选,适配全局格式)

如果需要整个模板统一用阿拉伯数字格式渲染,可在模板开头加入全局配置:

<#setting locale="zh_CN">
<#setting number_format=",##0.00">
  • locale参数指定区域为中国,默认使用阿拉伯数字渲染数值
  • number_format参数指定全局数字默认保留2位小数、展示千分位分隔符

二、商品价格格式转换

调用FreeMarker的string数字格式化函数,按需自定义输出格式:

  • 保留2位小数、带千分位:${item.amount?string(",##0.00")}
  • 保留2位小数、不带千分位:${item.amount?string("#0.00")}
  • 整数格式展示:${item.quantity?string("0")}

三、日期格式转换

调用FreeMarker的日期格式化函数,输出全阿拉伯数字组成的日期格式:

  • 短横线分隔格式:${record.trandate?string("yyyy-MM-dd")},输出示例:2024-06-15
  • 中文标识格式:${record.trandate?string("yyyy年MM月dd日")},输出示例:2024年06月15日
  • 时分秒完整格式:${record.createddate?string("yyyy-MM-dd HH:mm:ss")},输出示例:2024-06-15 14:30:22

完整示例片段

<?xml version="1.0"?>
<!DOCTYPE pdf PUBLIC "-//big.faceless.org//report//report-1.1.dtd">
<pdf>
<!-- 全局格式配置 -->
<#setting locale="zh_CN">
<#setting number_format = ",##0.00">
<body>
  <div>开票日期:${record.trandate?string("yyyy年MM月dd日")}</div>
  <table>
    <tr>
      <th>商品名称</th>
      <th>数量</th>
      <th>单价</th>
      <th>金额</th>
    </tr>
    <#list record.item as line>
    <tr>
      <td>${line.item}</td>
      <td>${line.quantity?string("0")}</td>
      <td>${line.rate}</td>
      <td>${line.amount}</td>
    </tr>
    </#list>
    <tr>
      <td colspan="3">合计总金额</td>
      <td>${record.total}</td>
    </tr>
  </table>
</body>
</pdf>

配置完成后保存模板,预览或打印发票时系统会自动在运行时完成格式转换,输出符合要求的阿拉伯数字格式内容。

内容的提问来源于stack exchange,提问作者Muddassir Uzair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:45:11