HTML to Markdown with Java

2022-09-01 05:29:46

有没有一种简单的方法可以用JAVA将HTML转换为markdown?

我目前正在使用Java MarkdownJ库将markdown转换为html。

import com.petebevin.markdown.MarkdownProcessor;
...
public static String getHTML(String markdown) {
    MarkdownProcessor markdown_processor = new MarkdownProcessor();
    return markdown_processor.markdown(markdown);
}

public static String getMarkdown(String html) {
/* TODO Ask stackoverflow */
}

答案 1

有一个很棒的JS库,叫做Turndown,你可以在这里在线尝试。它适用于接受的答案错误的html。

我需要它用于Java(作为问题),所以我移植了它。Java的库名为CopyDown,它具有与Turdown相同的测试套件,并且我已经尝试了接受的答案抛出错误的真实示例。

要使用 gradle 进行安装:

dependencies {
        compile 'io.github.furstenheim:copy_down:1.0'
}

然后使用它:

CopyDown converter = new CopyDown();
String myHtml = "<h1>Some title</h1><div>Some html<p>Another paragraph</p></div>";
String markdown = converter.convert(myHtml);
System.out.println(markdown);
> Some title\n==========\n\nSome html\n\nAnother paragraph\n

PS. 它有麻省理工学院的许可证


答案 2

我正在研究同一个问题,并尝试了几种不同的技术。

上面的答案可能有效。您可以使用 jTidy 库来执行初始清理工作,并从 HTML 转换为 XHTML。您可以使用上面链接的 XSLT 样式表

不幸的是,没有一个库具有一站式功能来在Java中执行此操作。你可以尝试将Python脚本html2text与Jython一起使用,但我还没有尝试过!


推荐