码迷,mamicode.com
首页 > 其他好文 > 详细

使用MD2Word导出word文档

时间:2015-04-28 16:22:02      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

为什么会有MD2Word这个开源工具?

万事皆有因果,所以这东西也不是闲的蛋疼才搞出来的。当初是有个需求,把文本内容导出到word。粗略一想,好像不难。估计网上大把大把的资料。

找了一圈,发现成型的做法基本没有。有个html转word的方式,使用poi组件的。使用了下,可以满足需求,但是,确定比较明显:

  1. 兼容性不强,mac中用pages是打不开的。
  2. 图片非本地保存,是联网图片。这意味着,用户断网之后,打开这个文档,是看不到图片的。

这两点是比较致命的缺陷,看起来就不够专业。

想了想,既然没有这方面的成品可以使用,那就自己写一个吧。于是,就写了这么个东西。

MD2Word可以干嘛?

顾名思义,这是一个markdown文本转word文档的工具类,后期其实可以扩展为markdown文本转PDF,word等等文档的一个工具类。当然,这是后话。

之所以使用markdown,是因为markdown比较好解析,而且md文本的内容会比较规范。另外,html转md也是比较好处理的。

目前MD2Word支持大部分markdown的基本语法,暂不支持的语法有:链接(link),表格(table),无序和有序列表。

  • 链接:由于本人对于poi的api还不熟,暂时不知道怎么在word内容中加入链接。如有知道是使用哪个api的朋友,可以告知一下
  • 表格:暂不支持表格语法的解析,会有支持的时候的。但word文档的输出其实是可以支持表格的,需要使用的导出方法为:WordFactory.produce(List<Block> list, String outputFilePath)
  • 无序和有序列表:这个其实使用原生的markdown文本输出貌似就很不错了。

MD2Word导出的word文档,在微软的office word中格式是最好的,毕竟poi开发的时候,也是以支持ms word为主。在wps中也还不错。在pages中内容排版基本正常,部分样式不支持。

怎么获取MD2Word这个开源工具?

代码已经放到:https://git.oschina.net/cevin15/MD2Word

有兴趣的可以star一下,想使用的可以fork一下。

关于MD2Word的一点说明

使用很简单,用 WordFactory 供的方法即可。

如果觉得默认的word样式不符合自己的要求,可以fork项目之后,通过修改 Poi3Decorator 这个类来实现。

另外,其实花在这个工具上总的时间还只有差不多一个星期吧。bug肯定有,后面会继续优化完善的。

最后在发一次地址:https://git.oschina.net/cevin15/MD2Word 


使用MD2Word导出word文档

标签:

原文地址:http://my.oschina.net/cevin15/blog/407184

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!