有一个包含图片的DOC文件,如何将它转换为带有图片的HTML?
我尝试使用以下示例: 在Java中以编程方式将Word文档转换为HTML
但是图片丢失了。
WordToHtmlConverter类的文档中指出:
我尝试使用以下示例: 在Java中以编程方式将Word文档转换为HTML
public class Converter {
...
private File docFile, htmlFile;
try {
FileInputStream fos = new FileInputStream(docFile.getAbsolutePath());
HWPFDocument doc = new HWPFDocument(fos);
Document newDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(newDoc) ;
wordToHtmlConverter.processDocument(doc);
StringWriter stringWriter = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
transformer.setOutputProperty(OutputKeys.METHOD, "html");
transformer.transform(
new DOMSource(wordToHtmlConverter.getDocument()),
new StreamResult(stringWriter)
);
String html = stringWriter.toString();
try {
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(htmlFile), "UTF-8")
);
out.write(html);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
JEditorPane jEditorPane = new JEditorPane();
jEditorPane.setContentType("text/html");
jEditorPane.setEditable(false);
jEditorPane.setPage(htmlFile.toURI().toURL());
JScrollPane jScrollPane = new JScrollPane(jEditorPane);
JFrame jFrame = new JFrame("display html file");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.getContentPane().add(jScrollPane);
jFrame.setSize(512, 342);
jFrame.setVisible(true);
} catch(Exception e) {
e.printStackTrace();
}
...
}
但是图片丢失了。
WordToHtmlConverter类的文档中指出:
如何将DOC转换为带有图像的HTML?...此实现不会创建图像或链接到它们。 可以通过覆盖
AbstractWordConverter.processImage(Element, boolean, Picture)
方法来更改此行为。