我目前有一些将.doc文档转换为html的代码,但我用来将.docx转换为文本的代码却不能获取文本并进行转换。以下是我的代码。
private void convertWordDocXtoHTML(File file) throws ParserConfigurationException, TransformerConfigurationException, TransformerException, IOException {
XWPFDocument wordDocument = null;
try {
wordDocument = new XWPFDocument(new FileInputStream(file));
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
org.w3c.dom.Document htmlDocument = wordToHtmlConverter.getDocument();
ByteArrayOutputStream out = new ByteArrayOutputStream();
DOMSource domSource = new DOMSource(htmlDocument);
StreamResult streamResult = new StreamResult(out);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer serializer = tf.newTransformer();
serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
serializer.setOutputProperty(OutputKeys.METHOD, "html");
serializer.transform(domSource, streamResult);
out.close();
String result = new String(out.toByteArray());
acDocTextArea.setText(newDocText);
String htmlText = result;
}
任何关于为什么这不起作用的想法都会非常感激。 ByteArrayOutput应返回整个html,但它是空的,没有文本。
答案 0 :(得分:5)
Mark,您使用的是仅支持.doc
格式的 HWPF软件包,请参阅this description。该文档还提到了通过 XWPF包为.docx
文件提供界面的尝试。但是,他们似乎缺乏人力资源,鼓励用户提交扩展。但是应该提供有限的功能,提取文本必须是其中之一。
您还应该看到这个问题:How to Extract docx (word 2007 above) using apache POI。
答案 1 :(得分:0)
此时我也受到了打击
现在我知道有一个第三方API将docx转换为html
工作正常
https://code.google.com/p/xdocreport/wiki/XWPFConverterXHTML