跳到主要内容

Word模板格式设置 - 样式指南

在生成文档的过程中,您可能需要对动态填充的内容应用特定的格式,例如设置日期格式、转换文本大小写或应用数字格式。 PDF4me 提供强大的格式化功能,可控制数据在生成的文档中的显示方式。


基本格式化语法

对合并字段应用格式化的基本语法:

<<[token]:"format">>

格式规范放在字段名称之后,用冒号分隔,并用引号括起来。


字符串格式化

使用以下字符串格式化选项转换和格式化文本内容:

文本大小写转换

大写字母 将整个字符串转换为大写
句法: <<[token]:upper>>
例子: <<[name]:upper>> →“约翰·史密斯”


将单词首字母大写 - 将每个单词的首字母大写
句法: <<[token]:caps>>
例子: <<[companyName]:caps>> → "Pdf4me 解决方案"


首字母大写 - 仅将字符串的首字母大写
句法: <<[token]:firstCap>>
例子: <<[sentence]:firstCap>> → “这是一个句子。”


字符串格式化示例

模板:

Customer Name: <<[customerName]:upper>>
Product Title: <<[productName]:caps>>
Description: <<[description]:firstCap>>

数据:

{
"customerName": "john smith",
"productName": "premium software package",
"description": "this is a premium product."
}

输出:

Customer Name: JOHN SMITH
Product Title: Premium Software Package
Description: This is a premium product.

日期和时间格式

使用自定义模式格式化日期和时间值,以您喜欢的格式显示日期。

常用日期格式模式

完整日期及时间
句法: <<[token]:"dd MMM yy H:mm:ss">>
例子: <<[date]:"dd MMM yy H:mm:ss">> → "2012年12月15日 10:10:21"


标准日期格式
句法: <<[token]:"dd-MM-yyyy">>
例子: <<[invoiceDate]:"dd-MM-yyyy">> → "2022年12月15日"


欧洲日期格式
句法: <<[token]:"dd.MM.yyyy">>
例子: <<[invoiceDate]:"dd.MM.yyyy">> → "2022年12月15日"


美国日期格式
句法: <<[token]:"MM/dd/yyyy">>
例子: <<[date]:"MM/dd/yyyy">> → "2022年12月15日"


ISO日期格式
句法: <<[token]:"yyyy-MM-dd">>
例子: <<[date]:"yyyy-MM-dd">> → "2022-12-15"


长日期格式
句法: <<[token]:"MMMM dd, yyyy">>
例子: <<[date]:"MMMM dd, yyyy">> → “2022年12月15日”


简短的约会时间
句法: <<[token]:"dd/MM/yyyy HH:mm">>
例子: <<[timestamp]:"dd/MM/yyyy HH:mm">> → "2022年12月15日 14:30"


日期格式示例

模板:

Invoice Date: <<[invoiceDate]:"dd.MM.yyyy">>
Due Date: <<[dueDate]:"MMMM dd, yyyy">>
Timestamp: <<[createdAt]:"dd MMM yy H:mm:ss">>

数据:

{
"invoiceDate": "2022/09/12",
"dueDate": "2022/10/12",
"createdAt": "2022/09/12 10:30:45"
}

输出:

Invoice Date: 12.09.2022
Due Date: October 12, 2022
Timestamp: 12 Sep 22 10:30:45

日期格式组成部分

了解日期格式的组成部分有助于创建自定义日期格式:

成分描述例子
d第(1-31)天5, 15, 28
dd第(01-31)天05, 15, 28
M月份(1-12)3, 9, 12
MM月(01-12)03, 09, 12
MMM月份缩写Jan, Sep, Dec
MMMM月份全名January, September, December
yy年份(两位数)22, 23
yyyy年份(4 位数字)2022, 2023
H小时(0-23)0, 14, 23
HH小时(00-23)00, 14, 23
h小时(1-12)1, 6, 12
hh小时(01-12)01, 06, 12
m分钟(0-59)5, 30, 59
mm分钟 (00-59)05, 30, 59
s第二(0-59)5, 30, 59
ss第二(00-59)05, 30, 59
tt上午/下午AM, PM

数字格式化

虽然基本示例中没有明确显示,但数字格式遵循类似的模式:

货币格式:

Amount: <<[amount]:"C2">>

小数位数:

Value: <<[value]:"F2">>

百分比:

Rate: <<[rate]:"P1">>

将格式与表达式结合使用

格式化可以与枚举方法和表达式结合使用:

例子:

Average Age: <<[employees.Average(p => p.Age)]:"F1">> years
Total Revenue: <<[orders.Sum(o => o.Total)]:"C2">>
Last Update: <<[updateDate]:"MMMM dd, yyyy 'at' HH:mm">>

实际应用案例

发票示例

模板:

Invoice #: <<[invoiceNumber]:upper>>
Date: <<[invoiceDate]:"dd.MM.yyyy">>
Company: <<[companyName]:caps>>
Total Amount: $<<[totalAmount]:"F2">>

报表标题示例

模板:

Report Generated: <<[generatedDate]:"MMMM dd, yyyy 'at' HH:mm:ss">>
Generated By: <<[userName]:caps>>
Period: <<[startDate]:"MMM yyyy">> - <<[endDate]:"MMM yyyy">>

最佳实践

  1. 统一的日期格式 - 整份文档应使用相同的日期格式。
  2. 地域因素 选择适合受众的日期格式
  3. 测试格式 - 生产前,请根据实际数据验证格式。
  4. 字符串转换 - 谨慎应用字符串格式化,以保持可读性
  5. 数字精度 - 货币和数值应使用适当的小数位数。

:::提示:格式测试

务必使用包含特殊情况(例如空值、过长字符串或不同格式的日期)的示例数据测试格式,以确保输出一致。

:::