/contract-util

合同模板 office word格式转html格式

Primary LanguageJava

背景

公司由于业务需求,经常需要在系统中添加一些合同。 合同模板由产品经理给出,一般会经过各方修改意见,修改多次最后定稿。 在合同定稿之前,需求分析、概要设计、排期已经完成,甚至已经开始代码实现了。 合同模板都是以word文件给出。

两个问题

  • 合同模板频繁修改,每次手工转换浪费时间精力 合同模板定稿之前会经过多次修改,而开发人员需要定稿之前用到合同模板。 这样就需要先将word格式的合同模板转换成html格式的合同模板。 然后模板发生修改的时候,需要找相关同事沟通,具体修改了哪些地方。然后重新手动转一遍合同模板。 这样需要更多的沟通,更多的转换时间。

  • 手动转换合同模板格式,容易出错 html转pdf对html格式有格式要求,能在浏览器中打开的html不一定能转pdf。 比如<br>标签,在html转pdf的工具中转换时报异常。工具要求所有的标签必须关闭。

方案

如果有一个工具可以实现word格式合同模板自动转换为html格式的合同模板,则会缩短产品开发周期。 微软的office word有这样的功能,但是使用它转换出来的html不能直接用来转pdf,因为它里面包含了很多不规范的标签。 而且它是最终效果上的不失真转换,把文档中的我们不需要转的批注也转换了。

基于以上情况,作者诞生了一个想法,结合office word,再自定义js脚本实现合同模板格式自动转换。 具体方案为 第一步 使用jacob,将word转为html。 (jacob是一个jar包,可以通过java代码调用office word,然后调用其转换为html的功能) 第二步 将相关的js代码添加到html。(js代码中会遍历所有标签,对标签进行删除、修改、样式调整等操作) 第三步 通过代码启动浏览器,打开html。 第四步 打开浏览器控制台,将输出结果保存。(输出结果就是已经转换好了的html)

使用方法

先配置好office word可执行文件的路径,浏览器可执行文件的路径 执行JacobUtil#main(需要先修改里面的word合同模板路径)