# MD2File **Repository Path**: cevin15/MD2File ## Basic Information - **Project Name**: MD2File - **Description**: 文档导出工具类,能将markdown格式的内容,转为office word,PDF,HTML等等格式的文档。不使用markdown格式的内容,直接调用MD2File的api,生成word,pdf等文档也是可以的。 另外,还可以将MD2File作为markdown转HTML的工具类。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 368 - **Forks**: 138 - **Created**: 2015-04-21 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: markdown-utils **Tags**: None ## README # MD2File ## MD2File可以干嘛? 能将markdown语法的文档内容,导出为word,pdf,HTML等的文件。 之所以使用markdown,是因为markdown比较好解析,而且md文本的内容会比较规范。另外,html转md也是比较好处理的。 目前MD2File支持大部分markdown的基本语法(**支持表格语法**)。无序列表和有序列表暂时还不支持多级列表。 导出的word文档,在微软的office word中格式是最好的,毕竟poi开发的时候,也是以支持ms word为主。在wps中也还不错。在pages中内容排版基本正常,部分样式不支持。导出的pdf文档,相对于word文档,会美观很多。 ## 顺便开发的功能:支持markdown转HTML文本 既然MD2File都能支持导出HTML文件了,支持markdown转HTML文本也就是几秒钟的事。 新增了MDUtil类,就是支持此功能的。现在java方面支持markdown转html还没有个比较好的jar,或多或少都有缺陷。当然目前MD2File也有,但会慢慢完善的,这也是作者的承诺。 Markdown转HTML文本的功能,目前已经单独提取出来,放在另外一个项目:[MDTool](https://github.com/cevin15/MDTool),更加纯粹。如果仅需要这个功能可以看下。 ##简单例子 ```java @Test public void test(){ try { // 导出文本 FileFactory.produce(new File("test_file/md_for_test.md"), "test_file/test.docx"); FileFactory.produce(new File("test_file/md_for_test.md"), "test_file/test.pdf"); FileFactory.produce(new File("test_file/md_for_test.md"), "test_file/test.html"); } catch (FileNotFoundException e) { e.printStackTrace(); } //markdown转html System.out.println(MDUtil.markdown2Html("[**开源中国**](http://www.oschina.net)社区,是一个很不错的网站。欢迎上去查找开源软件,吐吐槽!")); } ``` ## 怎么获取MD2File这个开源工具? ```xml //maven 支持 com.youbenzi MD2File 1.0.2 ``` 或 ```shell //gradle 支持 compile 'com.youbenzi:MD2File:1.0.1' ``` 代码已经放到:[https://git.oschina.net/cevin15/MD2File](https://git.oschina.net/cevin15/MD2File) 有兴趣的可以star一下。 ## 关于MD2File的一点说明 使用很简单,用`FileFactory`提供的方法即可。导出word依赖于poi,pdf依赖于itext,html无其他依赖,通过pom.xml文件可以清楚看到。 如果觉得默认的样式不符合自己的要求,可以fork项目之后,通过修改`*Decorator`这个类来实现。 PS.如果你只是需要markdown转HTML的功能,可以看[这里](https://github.com/cevin15/MDTool)。 ## 感谢 [懒神](https://git.oschina.net/Nelson0131)