我试图查看 DOCX4J 生成的 xHTML 文件。我能够成功生成上述文件,所有文本格式都正确显示在浏览器中。但是,我试图在 JEditorPane 上查看它,它只显示 HTML 文件中的文本,而不显示它的格式,就好像整个页面使用默认文本字体一样。这是我的 JInternalFrame 代码
package com.docx.ui.tools;
import java.awt.Desktop;
import java.awt.Dimension;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JEditorPane;
import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
public class Preview extends JInternalFrame
{
private static JScrollPane scrollPane;
private static JEditorPane htmlPane;
public Preview()
{
htmlPane = new JEditorPane();
htmlPane.setEditable(false);
htmlPane.setContentType("text/html");
scrollPane = new JScrollPane(htmlPane);
scrollPane.setAutoscrolls(true);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(250, 145));
setSize(800, 600);
scrollPane.setMinimumSize(getSize());
setVisible(true);
setResizable(true);
setMaximizable(true);
setTitle("Document Preview");
getContentPane().add(scrollPane);
loadfile();
}
public void loadfile()
{
Desktop d;
URL url = null;
try {
url = new URL("File:F:\\out.html");
// url = new URL("https://www.youtube.com/");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
htmlPane.setPage(url);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我尝试将 URL 更改为有效的网址,并且页面可以正确查看。我尝试在 JFrame 中执行相同的过程,并出现了相同的结果。我想知道我是否在程序中做错了什么,或者问题在于 DOCX4J 库生成的 HTML 文件。
我已经包含了 HTML 文件和 DOCX 文件以防万一需要 HTML http://www.mediafire.com/?z3t8ksv3c2air27