java关于ftl模板生成html以及word(实现在线预览、编辑功能)

本文介绍了如何使用Java的FreeMarker模板引擎生成HTML和Word文件,用于在线预览和编辑功能。从问题背景出发,详细讲述了从原始Word转换为FTL模板的过程,包括文件转码、内容动态化。接着,讨论了SpringBoot中配置FreeMarker的注意事项,并概述了HTML字符串转码的方法。虽然目前的方法不支持图片和复杂格式,但已能实现基本的文档编辑和预览需求。
摘要由CSDN通过智能技术生成

问题描述:

最早试过了xml模板生成word,虽然文件格式保留的多,但是这种模板生成的word转html,用单纯的poi中的XWPFDocument、HWPFDocument是有问题的,因为word本质上还是xml,xml转html,poi是暂时不支持的,而且,除了上述的问题外,xml模板的语言很少有java去学习,一旦涉及到模板的调整,一般都是花费很大力气都很难改成功的,基于上述的情况,我并没有采用这种方法。

后来试过了zip中提取document.xml的形式,再将动态的xml最后压缩进zip源文件中,但是发现,维护成本加大,需要一个word和一个xml来进行维护,调整格式总是需要兼顾word模板,而且word转html还是有poi出现的问题,虽然可以生成docx格式的文件,但是还是无法应对需求

当然用Jacob也是可以的,不过因为Jacob的要求需要在windows系统上,所以只能pass掉

为了实现ftl转word和html,转化之后,在富文本中进行编辑修改,保存再次转化成word,实现文件的在线编辑和预览功能,采用了如下的操作方法

1、生成html模板

原始的word,通过文件->另存为

生成的文件为格式并不是utf-8,需要转码一下,这里直接用notepad++菜单栏中的Encoding直接转为utf-8编码即可

删除掉图片中绿色部分的xml代码,且修改<meta http-equiv=Content-Type  content="text/html; charset=gb2312" >

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值