利用aspose把freemarker模板转换为PDF


前言

因为最近项目需要实现电子合同签约,目前此功能已实现,特在此记录一下思路以及实现过程。
整体过程是:利用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)
  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值