word 轉html,實用版
阿新 • • 發佈:2018-11-08
第一種:
匯入pom.xml
<dependency>
<groupId>net.sf.jacob-project</groupId>
<artifactId>jacob</artifactId>
<version>1.14.3</version>
</dependency>
java程式碼:
private void wordToHtml(String wordFile, String htmlFile) { // TODO Auto-generated method stub // 啟動word應用程式(Microsoft Office Word 2003) ActiveXComponent app = new ActiveXComponent("Word.Application"); System.out.println("*****正在轉換...*****"); try { // 設定word應用程式不可見 app.setProperty("Visible", new Variant(false)); // documents表示word程式的所有文件視窗,(word是多文件應用程式) Dispatch docs = app.getProperty("Documents").toDispatch(); // 開啟要轉換的word檔案 Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method, new Object[] { wordFile, new Variant(false), new Variant(true) }, new int[1]).toDispatch(); // 作為html格式儲存到臨時檔案 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { htmlFile, new Variant(8) }, new int[1]); // 關閉word檔案 Dispatch.call(doc, "Close", new Variant(false)); } catch (Exception e) { e.printStackTrace(); } finally { //關閉word應用程式 app.invoke("Quit", new Variant[] {}); } System.out.println("*****轉換完畢********"); }
第二種:POI
pom.xml配置
poi word-> html <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>xdocreport</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.3</version> </dependency>
java程式碼:
private void docxTohtml(String wordFile, String htmlFile, String distPath) { OutputStreamWriter outputStreamWriter = null; try { XWPFDocument document = new XWPFDocument(new FileInputStream(wordFile)); XHTMLOptions options = XHTMLOptions.create(); options.setExtractor(new FileImageExtractor(new File(distPath))); options.URIResolver(new BasicURIResolver("../../upload/image")); outputStreamWriter = new OutputStreamWriter(new FileOutputStream(htmlFile), "utf-8"); XHTMLConverter xhtmlConverter = (XHTMLConverter) XHTMLConverter.getInstance(); xhtmlConverter.convert(document, outputStreamWriter, options); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (outputStreamWriter != null) { try { outputStreamWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }