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">>
最佳实践
- 统一的日期格式 - 整份文档应使用相同的日期格式。
- 地域因素 选择适合受众的日期格式
- 测试格式 - 生产前,请根据实际数据验证格式。
- 字符串转换 - 谨慎应用字符串格式化,以保持可读性
- 数字精度 - 货币和数值应使用适当的小数位数。
:::提示:格式测试
务必使用包含特殊情况(例如空值、过长字符串或不同格式的日期)的示例数据测试格式,以确保输出一致。
:::