2011-10-23 144 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內容」(不跳過圖像,表格,圖表等)的要求 –

相關問題