麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

javaword文檔轉html文件

2019-11-14 15:39:57
字體:
來源:轉載
供稿:網友

一、簡介
  一般Word文件后綴有doc、docx兩種。docx是office word 2007以及以后版本文檔的擴展名;doc是office word 2003文檔保存的擴展名。對于這兩種格式的word轉換成html需要使用不同的方法。
對于docx格式的文檔使用xdocreport進行轉換。依賴如下:

<dependency>    <groupId>fr.opensagres.xdocreport</groupId>    <artifactId>fr.opensagres.xdocreport.document</artifactId>    <version>1.0.5</version></dependency><dependency>      <groupId>fr.opensagres.xdocreport</groupId>      <artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId>      <version>1.0.5</version>  </dependency>

對于docx格式的文檔使用poi進行轉換。依賴如下:

<dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi</artifactId>    <version>3.12</version></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-scratchpad</artifactId>    <version>3.12</version></dependency>

二:示例
  代碼示例如下:

  1 package com.test.word;  2   3 import java.io.File;  4 import java.io.FileInputStream;  5 import java.io.FileNotFoundException;  6 import java.io.FileOutputStream;  7 import java.io.IOException;  8 import java.io.InputStream;  9 import java.io.OutputStream; 10  11 import javax.xml.parsers.DocumentBuilderFactory; 12 import javax.xml.parsers.ParserConfigurationException; 13 import javax.xml.transform.OutputKeys; 14 import javax.xml.transform.Transformer; 15 import javax.xml.transform.TransformerException; 16 import javax.xml.transform.TransformerFactory; 17 import javax.xml.transform.dom.DOMSource; 18 import javax.xml.transform.stream.StreamResult; 19  20 import org.apache.poi.hwpf.HWPFDocument; 21 import org.apache.poi.hwpf.converter.PicturesManager; 22 import org.apache.poi.hwpf.converter.WordToHtmlConverter; 23 import org.apache.poi.hwpf.usermodel.PictureType; 24 import org.apache.poi.xwpf.converter.core.FileImageExtractor; 25 import org.apache.poi.xwpf.converter.core.FileURIResolver; 26 import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter; 27 import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions; 28 import org.apache.poi.xwpf.usermodel.XWPFDocument; 29 import org.junit.Test; 30 import org.w3c.dom.Document; 31  32 /** 33  * word 轉換成html 34  */ 35 public class WordToHtml { 36      37     /** 38      * 2007版本word轉換成html 39      * @throws IOException 40      */ 41     @Test  42     public void Word2007ToHtml() throws IOException { 43         String filepath = "C:/test/"; 44         String fileName = "滕王閣序2007.docx"; 45         String htmlName = "滕王閣序2007.html"; 46         final String file = filepath + fileName; 47         File f = new File(file);   48         if (!f.exists()) {   49             System.out.);   50         } else {   51             if (f.getName().endsWith(".docx") || f.getName().endsWith(".DOCX")) {   52                    53                 // 1) 加載word文檔生成 XWPFDocument對象   54                 InputStream in = new FileInputStream(f);   55                 XWPFDocument document = new XWPFDocument(in);   56    57                 // 2) 解析 XHTML配置 (這里設置IURIResolver來設置圖片存放的目錄)   58                 File imageFolderFile = new File(filepath);   59                 XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(imageFolderFile));   60                 options.setExtractor(new FileImageExtractor(imageFolderFile));   61                 options.setIgnoreStylesIfUnused(false);   62                 options.setFragment(true);   63                    64                 // 3) 將 XWPFDocument轉換成XHTML   65                 OutputStream out = new FileOutputStream(new File(filepath + htmlName));   66                 XHTMLConverter.getInstance().convert(document, out, options);   67                  68                 //也可以使用字符數組流獲取解析的內容 69 //                ByteArrayOutputStream baos = new ByteArrayOutputStream();  70 //                XHTMLConverter.getInstance().convert(document, baos, options);   71 //                String content = baos.toString(); 72 //                System.out.println(content); 73 //                 baos.close(); 74             } else {   75                 System.out.println("Enter only MS Office 2007+ files");   76             }   77         }   78     }   79      80     /** 81      * /** 82      * 2003版本word轉換成html 83      * @throws IOException 84      * @throws TransformerException 85      * @throws ParserConfigurationException 86      */ 87     @Test  88     public void Word2003ToHtml() throws IOException, TransformerException, ParserConfigurationException { 89         String filepath = "C:/test/"; 90         final String imagepath = "C:/test/image/"; 91         String fileName = "滕王閣序2003.doc"; 92         String htmlName = "滕王閣序2003.html"; 93         final String file = filepath + fileName; 94         InputStream input = new FileInputStream(new File(file)); 95         HWPFDocument wordDocument = new HWPFDocument(input); 96         WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); 97         //設置圖片存放的位置 98         wordToHtmlConverter.setPicturesManager(new PicturesManager() { 99             public String savePicture(byte[] content, PictureType pictureType, String suggestedName, float widthInches, float heightInches) {100                 File imgPath = new File(imagepath);101                 if(!imgPath.exists()){//圖片目錄不存在則創建102                     imgPath.mkdirs();103                 }104                 File file = new File(imagepath + suggestedName);105                 try {106                     OutputStream os = new FileOutputStream(file);107                     os.write(content);108                     os.close();109                 } catch (FileNotFoundException e) {110                     e.printStackTrace();111                 } catch (IOException e) {112                     e.printStackTrace();113                 }114                 return imagepath + suggestedName;115             }116         });117         118         //解析word文檔119         wordToHtmlConverter.processDocument(wordDocument);120         Document htmlDocument = wordToHtmlConverter.getDocument();121         122         File htmlFile = new File(filepath + htmlName);123         OutputStream outStream = new FileOutputStream(htmlFile);124         125         //也可以使用字符數組流獲取解析的內容126 //        ByteArrayOutputStream baos = new ByteArrayOutputStream(); 127 //        OutputStream outStream = new BufferedOutputStream(baos);128 129         DOMSource domSource = new DOMSource(htmlDocument);130         StreamResult streamResult = new StreamResult(outStream);131 132         TransformerFactory factory = TransformerFactory.newInstance();133         Transformer serializer = factory.newTransformer();134         serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");135         serializer.setOutputProperty(OutputKeys.INDENT, "yes");136         serializer.setOutputProperty(OutputKeys.METHOD, "html");137         138         serializer.transform(domSource, streamResult);139 140         //也可以使用字符數組流獲取解析的內容141 //        String content = baos.toString();142 //        System.out.println(content);143 //        baos.close();144         outStream.close();145     }146 }

  運行生存文件結果如下:

  

   


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩视频一区 | 毛片在线免费观看视频 | 精品麻豆cm视频在线看 | 久久精品国产99久久久古代 | 一本在线高清码电影 | 国产精品视频一区二区三区综合 | 操毛片 | 亚洲片在线观看 | 久久久久国产精品久久久久 | 久久精品视频3 | 日韩字幕在线观看 | 免费观看黄色影片 | 久久久久久久国产视频 | av电影直播| 国产在线免费 | 久久不射电影 | 黄色免费高清网站 | 色婷婷av一区二区三区久久 | 92看片淫黄大片欧美看国产片 | 午夜精品成人 | 久久国产精品成人免费网站 | 久久久久久久久浪潮精品 | 成年免费大片黄在线观看岛国 | 大学生一级毛片 | 一级做a爱片久久 | 中文字幕 亚洲一区 | 久久久av亚洲男天堂 | 91久久久久久 | 亚洲一区二区中文字幕在线观看 | 精品中文字幕在线播放 | 日韩字幕在线 | av观看国产 | chinesehdxxxx实拍| 一级毛片电影网 | 国产午夜精品一区二区三区免费 | 免费永久看羞羞片网站入口 | 久久久久av电影 | 国产精品一区二区三区在线看 | 日本中文视频 | 亚洲一二区精品 | 国产亚洲激情 |