在Apache POI中使用WordToHtmlConverter转换器

时间:2011-11-23 12:45:00

标签: java ms-word apache-poi

我正在尝试使用WordToHtmlConverter类来转换HTML中的word文档,但文档不清楚。

WordToHtmlConverter有一个构造函数,它带有org.w3c.dom.Document,但我不认为它是word文档。

有没有人有关于如何加载word文档并将其转换为html的示例程序。

1 个答案:

答案 0 :(得分:4)

您现在最好的选择可能是查看单元测试,例如TestWordToHtmlConverter。这将告诉你如何做到这一点

一般情况下,您传入要填充的xml文档,让WordToHtmlConverter从Word文档生成HTML,然后将xml文档转换为适当的输出(缩进,新行等)

您的代码可能看起来像:

    Document newDocument = DocumentBuilderFactory.newInstance()
            .newDocumentBuilder().newDocument();
    WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
            newDocument );

    wordToHtmlConverter.processDocument( hwpfDocument );

    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();