最近手上有一个功能,需求是这样的,一个word文档,支持在线预览,支持下载为word文档,真是让我头大,现公司没有类似的开发功能,需要自行研发。这个功能百度也是有的,但都不全,我就踩一个坑百度一次为什么,各种帖子拼凑才使得功能完善好。
是这样的,功能公共部分就是,生成word和转换为pdf形成文件,上传到文件服务器,我这里的处理都是上传到文件服务器,预览是公司前端封装的前端vue框架,下载是通用的下载方法。
1.生成word文件(freeMark方法)
1.首先将手上的word文件处理好,需要代码填充的值 ,用el表达式在文档的各个位置写好,就是map所push进去的键的名称。
2.word文件处理好之后,选择“另存为”,选择其他格式,我们另存为".xml"格式的
3.然后打开模板查看,里边就是代码形式的freemark,好,模板不要动,我们打开idea,打开我们的项目,在resources目录下新建文件夹templates,再新建template.ftl
4.好,将xml文档中的内容粘贴到template.ftl中,截图中的tem.ftl大家不用整,这个是我用来部分格式化模板的,因为我文档里边的表格啊数据啊比较多,我分批往上更新的,好接下来,我们粘贴过去之后,格式是代码一堆的,就下边第一张图这样的,然后,idea进行格式化 ,选择文件右击,进行格式化 。(格式化模板之后,要检查一下自己的el表达是有没有被冲开,这里需要调整一下,所有模板中的el表达式都应为下方第三张图一样,正常显示,el表达式中添加!"",是用来排除空的,如果后台代码map我们没有塞值,这样写就不报错了)