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 を有効な Web アドレスに変更してみましたが、ページは正しく表示されます。JFrameで同じ手順を実行しようとしましたが、同じ結果が発生しました。手順が間違っているのか、それとも DOCX4J ライブラリによって生成された HTML ファイルに問題があるのか 疑問に思っていました。
HTML http://www.mediafire.com/?z3t8ksv3c2air27が必要な場合に備えて、HTML ファイルと DOCX ファイルを含めました 。