最近开发遇到一个需求,公司法务给了一个word合同模板,需要替换里面的动态值为具体业务数据,然后生成pdf文件进行电子签章。
在网上找寻各种方法,发现很多都是需要特定工具,或者代码不全运行不起来,尝试了很多方法最后发现效果不是很好,所以记录下由word生成html模板,再转为pdf的方法。
该方法适用于合同、协议、报表等制式文档,用占位符替换动态值,支持if判断、支持list列表循环,通常用于线上签章和文件展示及文件服务器存储。html模板可以调整标签参数以避免生成的pdf样式失真、乱码。
word模板:由公司法务提供的具有法律效益的word模板或由业务提供的终版样式的报表等word文档。(业务侧认为的模板)
html模板:由word模板通过制作方法制成的将关键词替换为占位符或动态表达值的html文件。(开发侧认为的模板)
pdf:通过代码将业务数据替换html模板里面的占位符,然后生成的pdf文件。
1、按照资源中的生成html操作手册制作html模板。→资源在这里
2、生成的模板支持放在项目本地,也支持放在运城OSS存储中。
3、使用Java代码将业务数据替换占位符,然后生成pdf。
4、若操作有疑问或碰到无法解决的问题,可在资源的README.md中找到博主的私人联系方式。
公司法务提供的合同模板示例图
生成的html模板示例
由模板生成的pdf示例
描述
资源内容
1、word示例模板.docx
2、word模板生成的html模板文件.html
3、生成的pdf文件.pdf
4、生成pdf的工程代码
5、postman测试导出文件
6、制作模板的全流程步骤教程(截图及注释说明)
7、操作手册及代码示例地址在此:操作手册及代码示例传送门