1. 程式人生 > >POI實現Word轉HTML檔案

POI實現Word轉HTML檔案

package cn.wgd.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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.HWPFDocumentCore; import org.apache.poi.hwpf.converter.AbstractWordUtils; import org.apache.poi.hwpf.converter.WordToHtmlConverter; import org.apache.poi.util.XMLHelper; import
org.apache.poi.xwpf.usermodel.XWPFDocument; import org.w3c.dom.Document; import org.xml.sax.SAXException; import fr.opensagres.poi.xwpf.converter.core.IXWPFConverter; import fr.opensagres.poi.xwpf.converter.core.ImageManager; import fr.opensagres.poi.xwpf.converter.xhtml.XHTMLConverter; import fr.opensagres.poi.xwpf.converter.xhtml.XHTMLOptions; /** * @author
Kevin 2018-3-14 * * 將word,pdf等檔案轉為html,用於附件預覽! * * 圖片處理https://www.cnblogs.com/feiruo/p/5924514.html * * 本例程需要jar包:poi(poi3.17)相關jar包外, * fr.opensagres.poi.xwpf.converter.core-2.0.1.jar * fr.opensagres.poi.xwpf.converter.xhtml-2.0.1.jar * fr.opensagres.xdocreport.core-2.0.1.jar * ooxml-schemas-1.3.jar等 * * 注:此方法為簡單實現,如word需要更多樣式處理,還需要自行實現! * */
public class ConvertWord2HtmlUtil { public static void main(String[] args) throws IOException, ParserConfigurationException, TransformerException, SAXException { String path = "D:\\testfile2html\\test.docx"; String descPath = "D:\\testfile2html\\test.html"; String imagePath = "D:\\testfile2html"; word2007ToHtml(path, descPath, imagePath); } /** * 處理doc檔案轉HTML,此方法參考:org.apache.poi.hwpf.converter.WordToHtmlConverter.main() * @param path * @param descPath * @throws IOException * @throws ParserConfigurationException * @throws TransformerException */ public static void word95T2007ToHtml(String path, String descPath) throws IOException, ParserConfigurationException, TransformerException{ if(path == null) throw new NullPointerException("路徑不能為空!"); System.out.println( "Converting " + path ); System.out.println( "Saving output to " + descPath ); Document doc = ConvertWord2HtmlUtil.process(new File(path)); DOMSource domSource = new DOMSource( doc ); StreamResult streamResult = new StreamResult(new File(descPath)); TransformerFactory tf = TransformerFactory.newInstance(); Transformer serializer = tf.newTransformer(); // TODO set encoding from a command argument serializer.setOutputProperty( OutputKeys.ENCODING, "UTF-8" ); serializer.setOutputProperty( OutputKeys.INDENT, "yes" ); serializer.setOutputProperty( OutputKeys.METHOD, "html" ); serializer.transform( domSource, streamResult ); } /** * * 此方法來源於:org.apache.poi.hwpf.converter.WordToHtmlConverter * @param docFile * @return * @throws IOException * @throws ParserConfigurationException */ static Document process( File docFile ) throws IOException, ParserConfigurationException { final HWPFDocumentCore wordDocument = AbstractWordUtils.loadDoc( docFile ); WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter( XMLHelper.getDocumentBuilderFactory().newDocumentBuilder() .newDocument() ); wordToHtmlConverter.processDocument( wordDocument ); return wordToHtmlConverter.getDocument(); } /** * @param path 原始檔路徑(doc or docx) * @param descPath 轉化後的檔案路徑(html) * @param imagePath 圖片存放地址(本地址預設為html檔案同路徑) * @throws IOException * @throws ParserConfigurationException * @throws TransformerException * @throws SAXException */ public static void word2007ToHtml(String path, String descPath, String imagePath) throws IOException, ParserConfigurationException, TransformerException, SAXException{ if(path == null){ throw new NullPointerException("路徑不能為空!"); } File sourceFile = new File(path); if(!sourceFile.exists()){ System.out.println("使用者檔案不存在!"); return; }else{ if(path.endsWith(".docx") || path.endsWith(".DOCX")){ XWPFDocument document = new XWPFDocument(new FileInputStream(path)); //html轉化器 IXWPFConverter<XHTMLOptions> converter = XHTMLConverter.getInstance(); //html屬性器 XHTMLOptions options = XHTMLOptions.create(); //圖片處理,第二個引數為html檔案同級目錄下,否則圖片找不到。 ImageManager imageManager = new ImageManager(new File(imagePath), "image"); options.setImageManager(imageManager); converter.convert(document, new FileOutputStream(descPath), options); }else{ word95T2007ToHtml(path, descPath); } } } }

相關推薦

POI實現WordHTML檔案

package cn.wgd.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExcept

Java引用POI實現WordHtml方法

1.下載POI工具並引用 2.讀取整個doc文件,獲得該文件的所有字串。 3.從該字串中得到標題,把該標題構成一個HTML格式的字串,如<html><head><title>測試文件</title></head&

C# web實現word Html、officeHtml、pdf圖片 線上預覽檔案

 改篇 pdf 預覽再本機沒問題,釋出再iis中 不行 ,(使用剪貼簿的問題..excel和word 可以,) 詳細配置及程式碼 word 轉Html 複製程式碼  1 /// <summary>  2         /// word轉成html  3  

poi實現dochtml

alt 保存圖片 man input bdb result amr try catch 廢話,不多說直接上代碼。 一、doc轉html,並且帶文件夾 / * word轉html * html轉圖片 * @param tagPath 轉換htm

poi實現PPThtml

temp nts user 阿裏 oat ali bag exc ffffff 哈哈,終於兩個月了(筆者不玩網遊,雖然脾氣越來越不好,但是生活越來越充實)。不扯了,今晚還要再寫一篇呢,直接上代碼。 package com.css.java.learn

poi實現dochtml獲取帶樣式內容,並在ueditor中顯示

doc轉html獲取帶樣式內容,並在ueditor中顯示 工具類: 獲取返回的內容,存到資料庫。 package com.wb.core.utils; import org.apache.poi.hwpf.HWPFDocument; import org.apach

Java:封裝POI實現word的docx檔案的簡單模板功能

一:場景 通過Word模板來實現動態的word生成 二: 基本要求 1:替換文字中的內容 2:替換表格中的內容(不用動態生成表格) 3:替換後的內容應該與替換前的內容格式相同 4:模板修改方便 5:效果如下: 模板: 結果: 三:p

java實現線上預覽--poi實現word、excel、ppthtml

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/aabbyyz java實現線上預覽 - -之poi實現word、e

java實現線上預覽--poi實現word excel ppthtml

                        java實現線上

實現wordpdf,HTMLpdf(探索篇)

ner ase node eth ack line prope fin -o 筆者找依賴的jar包,找的好辛苦。 ITextRenderer、ITextFontResolver這兩個類依賴的jar包到底是哪個,還有怎麽下載?苦苦糾結了3個小時。終於找到你了!記錄個網址:ht

POIword化為html

參考資料 1.POI包依賴:https://poi.apache.org/components/index.html 2.包版本問題:https://bbs.csdn.net/topics/392208805 並沒有使用其中的3.9的版本,使用的為3.13 最開始使用的

C#wordhtml 不開啟檔案轉換視窗

string fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName); Word.Application word = new Word.Appl

Wordhtml實現線上預覽

word轉html,可以同時支援doc和docx兩種格式,非常好用 開發工具:idea 專案管理工具:maven 不多說,直接擼程式碼 1、首先配置pom.xml檔案,具體配置如下 2、工具類的開發 /** * WORD轉HTML docx格式 * POI版本: 3.10-

java語言通過Aspose元件 實現wordpdf、png、html..

    :使用Aspose元件可以實現word向DOC, DOCX, OOXML, RTF HTML,OpenDocument, PDF,EPUB, XPS, SWF 轉換 由於基本方法都一樣,在此我只展示word轉pdf的功能      前期準備: MyEcl

java 實現word PDF (採用第三方技術 IText、Poi、Jsoup)

    先講講思路:                        第一步:使用 poi 將word轉換成 html,這裡程式碼一搜一堆沒什麼好說的,千篇一律。                         (值得注意的地方是IText 根據html生成pdf檔案的時候

C#實現wordhtml命令列工具

需求 有個CMS系統的詳細資訊的來源是人手工編寫的word文件,需求如下: 文件是手工編輯而成的word文件(.docx) 文件具備一定的基本格式,其中包括標題、圖片、流程圖、簡介、按序號排布的詳細說明 初步只需要將這些文件可以以html頁面的形

asp.net 實現線上瀏覽word文件(wordhtml

最近在做word文件線上瀏覽,找了種種方法、控制元件之後,迴歸到word轉HTML,線上瀏覽.... 一下是後臺程式碼,前臺html頁面預設程式碼即可。 因為用檔案如下:using System; using System.Collections.Generic; usi

java+jacob實現wordpdf(通過呼叫模板檔案)

package com.repair.util.pub; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream

POIWord化為Html-yellowcong

這個將Word轉化Html這個功能16年1月份就做出來了,並將這個功能單獨封裝成了一個Util包,這個類主要用到了WordToHtmlConverter 中的processDocument函式和setPicturesManager。 環境搭建

Razor TagHelper實現MarkdownHTML

set mar comment ctu 流行 更強 import 編寫 normal Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。 用途 Markdown的語法簡潔明了、學習容易,而且功能比純文本更