使用Apache POI WordToHtmlConverter获取文档的文本

时间:2012-10-16 15:56:07

标签: java apache-poi

我有一些软件将Word文档转换为HTML。我需要的是一种获取文档文本的方法。下面是我的代码示例。当doc转换为html时,似乎doc被写入html标签。我对html和web开发没有多少经验。我主要是一个应用程序和桌面开发人员。获取段落文本的简单方法是什么?下面是我到目前为止的代码。我需要将信息作为字符串获取,以便我可以解析它。

private void convertWordDoctoHTML(File file) throws ParserConfigurationException, TransformerConfigurationException, TransformerException, IOException {
    HWPFDocumentCore wordDocument = null;
    try {
        wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream(file));
    } catch (IOException ex) {
        Exceptions.printStackTrace(ex);
    }

    WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
    wordToHtmlConverter.processDocument(wordDocument);
    org.w3c.dom.Document htmlDocument = wordToHtmlConverter.getDocument();
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    DOMSource domSource = new DOMSource(htmlDocument);
    StreamResult streamResult = new StreamResult(out);

    StringWriter stringWriter = new StringWriter();
    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());
    System.out.println(result);
    docEditorPane.setPage(selectedFile.toURI().toURL());
    newDocText = result;
}

0 个答案:

没有答案