2011-10-23 142 views
9

我看到有一个名为WordToHtmlConverter的转换器,但未公开流程方法。我应该如何通过doc文件并获取HTML文件(或OutputStream)?使用Apache POI将Word转换为HTML

+0

这是你要求的吗? http://stackoverflow.com/questions/227236/convert-word-doc-to-html-programmatically-in-java – enrique2334

+0

这不是...在Apache POI他们有一个新的类在包org.apache.poi .hwpf.converter来处理...但找不到任何教程如何使用它们。 – Ron

回答

18

此代码现在为我工作!

HWPFDocumentCore wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream("D:\\temp\\seo\\1.doc")); 

    WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
      DocumentBuilderFactory.newInstance().newDocumentBuilder() 
        .newDocument()); 
    wordToHtmlConverter.processDocument(wordDocument); 
    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()); 
    System.out.println(result); 
+0

我可以得到它的整个代码..? –

+0

谢谢罗恩。你的建议救了我。我尝试提供的示例,但它跳过图中的图像,表格和内容(如框)。有没有什么办法可以提取它。我看到几个例子单独提取图像。有什么办法让所有人都聚在一起。否则,我们可以将这些图像,表格恰好放置在原始文件的位置。意味着满足“将DOC文件呈现为HTML内容”(不跳过图像,表格,图表等)的要求 –

相关问题