文章目录
前言
因为最近项目需要实现电子合同签约,目前此功能已实现,特在此记录一下思路以及实现过程。
整体过程是:利用word模板另存为word.xml格式,直接把此xml文件的.xml后缀改为.ftl,并且编辑.ftl文件中的内容,利用占位符把相关的变量给填充进去,当对变量的值进行赋值以后,就可以利用freemarker把这些值给填充到对应的位置上,实现对xml文件的动态编辑;然后把此xml文件转换为流,然后利用aspose把此流转换为pdf文件即可。
提示:以下是本篇文章正文内容,下面案例可供参考
一、利用freemarker修改.ftl文件并保存为word文档
1.word文档编辑了.ftl文档,此处为案例模板
文档test.docx文档内容如下:
另存为xml文档
用notepad把xml文档打开如下:
把要修改的地方改成变量,并保存此文档,格式如下:
修改xml文档后缀,变为ftl文档:
至此.ftl文档编辑成功。
2. 加入freemarker依赖并配置
依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
配置如下,更多配置可以参考官方文档:
spring:
freemarker:
##模版存放路径(默认为 classpath:/templates/)
template-loader-path: /templates/
##是否生成缓存,生成环境建议开启(默认为true)
cache: false
##编码
charset: UTF-8
check-template-location: true
##content-type类型(默认为test/html)
content-type: text/html
## 设定所有request的属性在merge到模板的时候,是否要都添加到model中(默认为false)
expose-request-attributes: false
##设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中.(默认为false)