能将markdown语法的文档内容,导出为word,pdf,HTML等的文件。
之所以使用markdown,是因为markdown比较好解析,而且md文本的内容会比较规范。另外,html转md也是比较好处理的。
目前MD2File支持大部分markdown的基本语法(支持表格语法)。无序列表和有序列表暂时还不支持多级列表。
导出的word文档,在微软的office word中格式是最好的,毕竟poi开发的时候,也是以支持ms word为主。在wps中也还不错。在pages中内容排版基本正常,部分样式不支持。导出的pdf文档,相对于word文档,会美观很多。
既然MD2File都能支持导出HTML文件了,支持markdown转HTML文本也就是几秒钟的事。MDUtil类,就是用于支持此功能的。
@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)社区,是一个很不错的网站。欢迎上去查找开源软件,吐吐槽!")); }
代码已经放到:https://gitee.com/cevin15/MD2File
有兴趣的可以star一下,想使用的可以fork一下。
使用很简单,用FileFactory提供的方法即可。导出word依赖于poi,pdf依赖于itext,html无其他依赖,通过pom.xml文件可以清楚看到。
如果觉得默认的样式不符合自己的要求,可以fork项目之后,通过修改*Decorator这个类来实现。
为方便大家下载直接使用,在lib中上传了MD2File的jar包,以及依赖包。
MD2File MD2File可以干嘛? 能将markdown语法的文档内容,导出为word,pdf,HTML等的文件。 之所以使用markdown,是因为markdown比较好解析,而且md文本的内容会比较规范。另外,html转md也是比较好处理的。 目前MD2File支持大部分markdown的基本语法(支持表格语法)。无序列表和有序列表暂时还不支持多级列表。 导出的word文档,在微软的of
问题内容: 我有一个包含日期格式的字符串。 您如何建议我以最佳方式将其转换为格式? 这就是我天真地做的事情: 但是还有其他更优雅,更有效的方法吗?就是 使用一些内置功能?快速搜寻API时,我找不到一个。 这里有人知道替代方法吗? 问题答案: 用途:
我有这段代码,在这里我试图将日期字符串从一种格式转换为另一种格式,最后我想再次使用日期对象。
问题内容: Java中是否有等同于php date()样式格式的格式?我的意思是,在php中,我可以反斜杠转义字符以按字面意义对待它们。即 yyyy \ y \ e \ a \ r 将成为 2010年 。我没有在Java中找到任何类似的东西,所有示例仅处理内置日期格式。 特别是,我处理JCalendar日期选择器及其 dateFormatString 属性。 我需要它,因为在我的语言环境中,需要以
小编在整理当前开源书籍项目的时候,发现项目有部分章节内容没有编排进summary.md里面,但是小编又不知道该将这些内容放到哪里。所以,直接建了个其他的章节,把这些内容放这里来。 Worker节点负载均衡 强制平衡 强行移除节点 Manager节点配置静态IP地址 分布式manager节点 Manager节点的故障排查 监控Swarm健康 备份 检查Swarm中service的状态
Task Scheduling 任务 Angular: Why TypeScript? 测试组件 回顾 Reducers 和纯函数 Redux和组件架构 配置应用以使用Redux 插件 使用RxJS操作符实现更多高级特性 与其他框架比较 Angular 2中的Web辅助功能 无障碍Web应用的关键
其他 如果需要 CSS Hacks,需详细注明解决什么问题。 尽量避免使用 IE 中的 CSS filters。 font-weight普通字重使用normal,加粗使用bold。大部分字体只有两个字重,所以 不建议使用容易混淆的数值表示方法。 如无特别精确的要求,推荐使用不带单位的line-height,这样当前元素的行高只与自身font-size成比例关系,使排版更加灵活。例如line-hei
其他 总是开启 ruby -w 选项,以编写安全的代码。 避免使用哈希作为可选参数。这个方法是不是做太多事了?(对象构造器除外) 避免单个方法的长度超过 10 行(不计入空行)。理想上,大部分方法应当不超过 5 行。 避免参数列表数目多于三或四个。 如果你真的需要“全局”方法,将它们添加到 Kernel 并设为私有。 使用模块实例变量而不是全局变量。 # 差 $foo_bar = 1 # 好 mo