Jacob是Java和Windows下的Com橋,通過(guò)它我們可以在Java程序中調(diào)用COM組件。如果你的JDK是1.4,那你需要下載Jacob1.9的jni庫(kù)才能正常運(yùn)行,早期版本在JDK1.4下有些問(wèn)題。
以下是引用片段:
package com; /** * 〈p〉Title:Word文檔轉(zhuǎn)html類(lèi)〈/p〉 * 〈p〉Description: 〈/p〉 * 〈p〉Copyright:() 2002〈/p〉 * @author 舵手 * @version 1.0 */ import com.jacob.com.*; import com.jacob.activeX.*;
public class WordtoHtml { /** *文檔轉(zhuǎn)換函數(shù) *@param docfile word文檔的絕對(duì)路徑加文件名(包含擴(kuò)展名) *@param htmlfile 轉(zhuǎn)換后的html文件絕對(duì)路徑和文件名(不含擴(kuò)展名) */ public static void change(String docfile, String htmlfile) { ActiveXComponent app = new ActiveXComponent("Word.Application"); // 啟動(dòng)word try { app.setProperty("Visible", new Variant(false)); //設(shè)置word不可見(jiàn) Object docs = app.getProperty("Documents").toDispatch(); Object doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { docfile, new Variant(false),new Variant(true) }, new int[1]).toDispatch(); // 打開(kāi)word文件 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {htmlfile, new Variant(8) }, new int[1]); // 作為html格式保存到臨時(shí)文件 Variant f = new Variant(false); Dispatch.call(doc, "Close", f); } catch (Exception e) { e.printStackTrace(); } finally { app.invoke("Quit", new Variant[]{}); } } public static void main(String[] strs){ WordtoHtml.change("c:\a\運(yùn)輸管理調(diào)度系統(tǒng)總體方案.doc", "c:\a\t");
} |