文左良 ·.
白天的热量还未散去,夜却已经深了。
坐在电脑前,许久,许久,写不出一个字。
前不久接到一个制作导出帆软报表为韩国文档格式,也就是韩国的 word软件格式 .hwp,对于我这种英文都是半吊子的水平突然说要做一个韩文插件,我还是慌的一匹。没关系,钱多好办事,给你打满。
办法总比困难多
和蒋建阳商量了集中办法
1:使用rtf来伪装hwp文件。
2:使用转换器将html转成hwp文件。
3:最后的办法找库自己写转换器。
·.
解决问题的过程就是不断尝试的过程
之所以会有使用rtf来伪装hwp文件,这还的从导出word的doc格式说起
可能由于很多历史原因,现在帆软的ms doc导出还是导出的rft格式,可能细心的小朋友也发现了这一点,虽然文件后缀是叫.doc但是内在的是rtf,因为这个项目,我也去看了下微软doc的格式文档,以及如何用java来控制word,确实现有的方法来导出文档十分的麻烦,相对的导出成rft要简单的多。
大概了解了项目的需求之后,开始研究如何用rtf也来伪装一个hwp格式,经过一番尝试发现帆软自带的导出word的rtf导出来改成hwp会报错,但是,但是,但是,使用windows自带的写字板保存的rtf打开就不会报错,奇怪奇怪奇怪。
找蒋建阳要来了word的导出插件核心源码,一看才明白,这个库是十年前写的,现在的程序估计早就不支持,能用到现在也是佩服佩服。
更有趣的是,代码里面有几个英文的名字,开始我以为只是他们公司的开发,说要不拉到一个讨论组里问问当时怎么想的要这样写代码,后来一问才知道....
告辞告辞,你们写这个代码的人都是这种级别的,我当时就歪歪是不是我写出了hwp的导出也能出任ceo,从此走上人生巅峰。嘿嘿嘿。
好吧,原来的导出rtf不行,我就想想其他的导出rtf的方案吧,找到一个
Apache POI - the Java API for Microsoft Documents,虽然是专门为微软文档格式做的库,但是他也部分支持rtf嘛,试试。
使用api,将线上已经生成好的html直接转成rtf。开始的简单表格图片啥的都还不错,直接就导出来了,而且也可以用韩文软件打开查看,很有潜力嘛。
然后试了一个稍微复杂点的表格里面插入图片,在加一个边框,报错了,不对,可能是参数配的不对,再试试,试了50几次,依然不行,报错,得,这一下午都费在这儿了。
3 ·.
自己选择的路,咋都的走完
距离最后交付还有7天,各种转rtf基本都无法满足要求,现在只有最后一条路路,自己去将数据转成hwp格式。
这里要感谢 neolord0 大神,提供了一个开源的读写hwp格式的java库。
但是他全部都是韩文的,除了HWP这三个英文其他的都不认识啊。
虽然说明的文字是韩文的,但是代码都是java的,这个都是相同的,多看几遍还是能明白的。 反复的看他提供的几个列子 创建表格,创建图片,创建文字。 弄啊弄啊,几个小时过去了
弄啊弄啊,几天过去了
弄啊弄啊,十几天过去了
·.
这个文章,磨磨唧唧的写了10几天,最后还是感谢一下老蒋的大力支持,感谢hwp库的开发者,没有他的创作,也没法完成这个插件。
https://github.com/neolord0/hwplib 欢迎点赞,贡献
文:左良~
插件定制/主题定制
拼搏为自由
▼CONTACT ME
onlyxx@outlook.com
编辑于 2018-8-2 16:21
编辑于 2018-8-2 16:22
|