日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[JavaWeb基础] 025.JAVA把word转换成html

發布時間:2025/4/14 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [JavaWeb基础] 025.JAVA把word转换成html 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用第三方插件POIword文檔轉換成HTML,下面直接上代碼

package com.babybus.sdteam.wordtopdf;import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.List;import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;import org.apache.poi.hwpf.usermodel.Picture; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.PicturesManager; import org.apache.poi.hwpf.converter.WordToHtmlConverter; import org.apache.poi.hwpf.usermodel.PictureType; import org.jsoup.Jsoup;import org.w3c.dom.Document;public class WordToHtml {/*** 轉換word到html* * @param path* @return* @throws IOException* @throws FileNotFoundException* @throws ParserConfigurationException* @throws TransformerException*/public static String convertWordToHtml(String path)throws FileNotFoundException, IOException,ParserConfigurationException, TransformerException {// 轉換的結果路徑String htmlPath = "D://test//1.html";// 創建word文檔HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(path));// 兼容2007 以上版本// XSSFWorkbook xssfwork=new XSSFWorkbook(new FileInputStream(fileName));// 創建一個轉換器WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());// 設置圖片管理器wordToHtmlConverter.setPicturesManager(new PicturesManager() {public String savePicture(byte[] content, PictureType pictureType,String suggestedName, float widthInches, float heightInches) {return "test/" + suggestedName;}});// 處理word文檔wordToHtmlConverter.processDocument(wordDocument);// 保存圖片集合List pics = wordDocument.getPicturesTable().getAllPictures();if (pics != null) {for (int i = 0; i < pics.size(); i++) {Picture pic = (Picture) pics.get(i);try {pic.writeImageContent(new FileOutputStream("D:/test/"+ pic.suggestFullFileName()));} catch (FileNotFoundException e) {e.printStackTrace();}}}// 取出轉換的文檔Document htmlDocument = wordToHtmlConverter.getDocument();// 創建輸出流 和創建DOM源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, "GB2312");serializer.setOutputProperty(OutputKeys.INDENT, "yes");serializer.setOutputProperty(OutputKeys.METHOD, "HTML");serializer.transform(domSource, streamResult);out.close();// 寫入文件writeFile(new String(out.toByteArray()), htmlPath);return htmlPath;}/*** 寫入文件* * @param content* @param path*/public static void writeFile(String content, String path) {FileOutputStream fos = null;BufferedWriter bw = null;org.jsoup.nodes.Document doc = Jsoup.parse(content);content = doc.html();try {File file = new File(path);fos = new FileOutputStream(file);bw = new BufferedWriter(new OutputStreamWriter(fos, "GB2312"));bw.write(content);} catch (FileNotFoundException fnfe) {fnfe.printStackTrace();} catch (IOException ioe) {ioe.printStackTrace();} finally {try {if (bw != null)bw.close();if (fos != null)fos.close();} catch (IOException ie) {}}} }

?編碼必須用GB2312,用UTF8會有亂碼問題。

?

?

?

本站文章為?寶寶巴士 SD.Team?原創,轉載務必在明顯處注明:(作者官方網站:?寶寶巴士?)?

轉載自【寶寶巴士SuperDo團隊】?原文鏈接:?http://www.cnblogs.com/superdo/p/4893022.html

轉載于:https://www.cnblogs.com/superdo/p/4893022.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的[JavaWeb基础] 025.JAVA把word转换成html的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。