1
利用jacob包将使用者上傳的word檔案轉換成htm格式,必須是“篩選過的網頁”,不然顯示不了圖檔;将轉換好的htm格式文檔路徑存入資料庫,讀的時候就在資料庫裡讀。

2
可能會抛出no jacob in java.library.path異常,解決辦法如下: 把jacob.dll在 C:/Program Files/Java/jdk1.5.0_08/bin、C:/Program Files/Java/jdk1.5.0_08/jre/bin、 C:/WINDOWS/system32 目錄下各放一份
3
把jacob.jar放入 項目的lib包将word文檔轉換為htm格式的java代碼如下import com.jacob.com.*;import com.jacob.activeX.*;import java.io.*;public class WordToHtml {
4
//将指定目錄下面的指定doc檔案轉化為HTML并存儲在savepaths目錄下public static void change(String filepaths, String savepaths) {File f = new File(filepaths);String filename = f.getName();String filetype = filename.substring((filename.length() - 3), filename.length());// 取得檔案類型if (filetype.equals("doc")) {// 判斷是否為doc檔案System.out.println("目前正在轉換......");
// 列印目前目錄路徑System.out.println(filepaths);ActiveXComponent app = new ActiveXComponent("Word.Application");// 啟動wordString docpath = filepaths;String htmlpath = savepaths + filename.substring(0, (filename.length() - 4));String inFile = docpath;
5
// 要轉換的word檔案String tpFile = htmlpath;// HTML檔案boolean flag = false;try {app.setProperty("Visible", new Variant(false));// 設定word不可見Object docs = app.getProperty("Documents").toDispatch();Object doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { inFile, new Variant(false),new Variant(true) },new int[1]).toDispatch();// 打開word檔案Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile, new Variant(10) }, new int[1]);// 作為html格式儲存到臨時檔案Variant fl = new Variant(false);Dispatch.call(doc, "Close", fl);flag = true;} catch (Exception e) {e.printStackTrace();} finally {app.invoke("Quit", new Variant[] {});}System.out.println("轉化完畢!");}public static void main(String[] args) {
6
//轉換目錄下的所有doc檔案// String paths = new String("D://test//");String savepaths = new String("D://test//");// changeAll(paths, savepaths);轉換指定doc檔案String filepaths = "D://test.doc";change(filepaths, savepaths);}}
END