因为本人长期从事Oa相关项目的开发,所以处理word文档,Pdf,Excel等是在所难免的。
1.需求 处理Excel 能够用jxl 或者poi
2需求 用户在系统上填写信息,保存后导出标准的word文档。用户在系统上填写的信息我们用富文本编辑工具kindEditor。这个插件能够将用户从word文档拷贝的表格标签保存。可是图片信息须要另行上传。 如今问题出来了,我们要将这些包括图片。表格,特殊符号的东东生成word文档。
假设是单纯的没有特殊格字符。图片等信息,假设要生成word文档的时候能够用java+Freemark 模版的做法,详细作法
用word编辑好模版。将模版另存为 office 2003 xml 格式,然后打上对应的标签,最后将模版后缀改为.ftl即freemarker模版后缀就可以。
假设有内容中有图片。并且图片位置不固定,这样是须要用java + velocity 模版的做法。详细流程将编辑好的word模版另存为.mht即单网页文档。
最后调整后缀为.vm就可以。
可是这个处理过程图片是保存不了的, 这个须要配合java2word。利用java+velocity 生成word文档。在往文档里面插入内容的时候能够用正則表達式替换图片标签为特殊的字符串。等到文档声称完成后,採用java2word工具里面的查找替换功能将图片插入咱们内容增加的特殊字符位置。
假设想要效果标准的word文档,能够用itext 我用的是itext 2.1.7 一共三个包,当中一个是亚洲包,这个是支持中文的,利用litext能够用代码画出标准的word文档,特别是对待分页以及表格格式要求严格的用户。
上面说的java + velocity是暂时方案。事实上最简单的解决富文本编辑的问题时用插件,我们为客户购买了千航 即NTKO的office 编辑插件,我们买的是跨平台版的。这个插件能够
让用户在线编辑word文档并将文档保存到数据库。可是用这个插件可能系统执行初期,须要花费非常大精力去运维。由于用户电脑的环境不是咱们开发者可以左右的。等到一个周期过去之后效果基本上会好起来。