一、实现思路:
(1)将给定的word文件,转换为freemarker的模板文件;
(2)通过freemarker动态填充数据后生成临时word文件;
(3)通过aspose将临时word文件转换为临时pdf文件
(4)通过流读取临时pdf文件,将流传递给浏览器,实现pdf文件导出;
(5)最后删除word临时文件、临时pdf文件;
二、基于doc格式文件创建模板:
(1)替换数据占位符:
将word模板中动态数据位置,用自己设定好对应的数据字段名称进行替换,注意word模板数据最终是放在一个map中的,因此要保证数据字段名不能重复。然后将word另存为xml格式的文件。
(2)占位符修改为freemarker值替换符:
模板xml中freemaker值替换符号为${},我们需要将要退换的英文变量名称用${}包括起来。
(3)添加if-else for循环等逻辑:
if-else逻辑:
if-else-if逻辑:
for循环逻辑:
(4)完成freemarker模板创建:
通过以上几个操作,就可以完成freemarker模板的创建。
三、拷贝word生成工具类:
word转pdf核心方法:
四、代码controller中调用word工具类:
五、linux服务器安装中文字体:
具体安装操作见网址:
https://www.cnblogs.com/xionggeclub/p/6146484.html
详情文档汇总整理及word工具类见: