我尝试使用 WordToHtmlConverter
将 .doc 转换为 HTML,并且效果很好。
但是当我尝试将 .docx 转换为 HTML 时,我遇到了困难。
我尝试了什么:
我使用以下代码将 .docx 转换为 HTML:
我试过的代码:How to use Tika's XWPFWordExtractorDecorator class?
InputStream input = TikaInputStream.get(new File("C:\\Users\\Downloads\\filename.docx"));
Parser parser = new AutoDetectParser();
StringWriter sw = new StringWriter();
SAXTransformerFactory factory = (SAXTransformerFactory)
SAXTransformerFactory.newInstance();
TransformerHandler handler = factory.newTransformerHandler();
handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
handler.setResult(new StreamResult(sw));
try {
Metadata metadata = new Metadata();
parser.parse(input, handler, metadata, new ParseContext());
String xml = sw.toString();
System.out.print("tika : "+xml);
} finally {
input.close();
}
我得到的输出是,
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title/>
</head>
<body/>
</html>
- 请解释我哪里出错了?
- 有没有更好的办法把.docx转成html字符串
感谢您的帮助,谢谢
最佳答案
这段代码对我有用,可以将 .docx 转换为 html:
您还可以查看链接:Link to code
//convert .docx to HTML string
InputStream in= new FileInputStream(new File(path));
XWPFDocument document = new XWPFDocument(in);
XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(new File("word/media")));
OutputStream out = new ByteArrayOutputStream();
XHTMLConverter.getInstance().convert(document, out, options);
String html=out.toString();
System.out.println(html);
关于java - 使用 JAVA 将 .docx 转换为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652953/