从Microsoft Word或其他在线内容复制时,JEditorPane不会正确地将html转换为文本

时间:2017-01-25 22:25:37

标签: java html jtextpane jeditorpane

我正在尝试使用JEditorPane将html转换为文本。它没有正确地将html转换为文本,并且文本仍然具有字体和颜色等html标签。以下是我使用的代码。

JEditorPane jep = new JEditorPane("text/html", html);
((HTMLDocument)jep.getDocument()).setPreservesUnknownTags(false);
HTMLDocument htmlDoc = (HTMLDocument)jep.getDocument();
htmlDoc.setPreservesUnknownTags(false);
System.out.println(htmlDoc.getText(0, htmlDoc.getLength()));

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

以下适用于我:

JEditorPane pane = new JEditorPane("text/html", html);
String plainText = pane.getDocument().getText(0, pane.getDocument().getLength()); 
System.out.println(plainText);

答案 1 :(得分:0)

如果你想操纵html,你可能会对使用Jsoup感兴趣。

您可能对text方法感兴趣:

Gets the combined text of this element and all its children. 

//example
return Jsoup.parse("<p>testing <span>jsoup</span></p>").text();
//returns "testing jsoup"