2014-07-09 140 views
7

我試圖通過使用WordToHtmlConverter將.doc轉換爲HTML,並且它完美地工作。使用JAVA將.docx轉換爲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字符串

感謝您的幫助,謝謝

+0

根據文檔https://poi.apache.org/apidocs/org/apache/poi/hwpf/converter/WordToHtmlConverter.html當只有.doc時,此API旨在用於Word 2007。所以它不適用於使用此API的.docx。嘗試將您的文檔保存在.doc – singe3

+0

@ singe31中,您可以獲得我的觀點。我已經通過使用hwpf轉換器將.doc轉換爲html。但即時通訊試圖爲.docx做,有沒有辦法? –

+1

https://code.google.com/p/xdocreport/wiki/XWPFConverterXHTML – singe3

回答

7

此代碼爲我工作爲.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); 
+0

感謝此示例。它像魅力一樣工作。 – Fayaz

+0

任何人都可以提供更新的示例嗎?該參考不再適用。謝謝。 – Andres

+1

我在使用這段代碼時遇到了問題,因爲我無法爲 XHTMLOptions,XHTMLConverter和FileURIResolver獲取jar,然後當我搜索時,我在這裏獲得了這些jar 「org.apache.poi.xwpf.converter.core-1.0 .6.jar「,」org.apache.poi.xwpf.converter.xhtml-1.0.6.jar「和」ooxml-schemas-1.1.jar「,如果你使用這些jar,你將不會得到任何錯誤上面的代碼 – Vipul