java中 jacob作用_Jacob用法收集
介紹
Jacob 是Java-COM Bridge的縮寫,它在Java與微軟的COM組件之間構建一座橋梁。使用Jacob自帶的DLL動態鏈接庫,并通過JNI的方式實現了在Java平臺上對COM程序的調用。
安裝和配置
Jacob是一個開源軟件,它的官方站點是:http://danadler.com/jacob/
我的系統是64位,把jacob-1.18-M2-x64.dll復制到Windows\System32文件夾下,再 IDE中引用jacob.jar就可以使用了
讀寫Word簡單示例
必須先在對應的路徑下建立fileIn.doc,可以事先寫入內容:
packageking.word;importcom.jacob.activeX.ActiveXComponent;importcom.jacob.com.Dispatch;importcom.jacob.com.Variant;public classTest {
String strDir= "F:\\桌面\\Temp\\";
String strInputDoc= strDir + "fileIn.doc";
String strOutputDoc= strDir + "fileOut.doc";
String strOldText= "oldText";
String strNewText= "It's very good to use java control Word";boolean isVisible = true;boolean isSaveOnExit = true;publicTest(){
ActiveXComponent oWord= new ActiveXComponent("Word.Application");
oWord.setProperty("Visible", newVariant(isVisible));
Dispatch oDocuments= oWord.getProperty("Documents").toDispatch();
Dispatch oDocument= Dispatch.call(oDocuments, "Open", strInputDoc).toDispatch();
Dispatch oSelection= oWord.getProperty("Selection").toDispatch();
Dispatch oFind= oWord.call(oSelection, "Find").toDispatch();
Dispatch.put(oFind,"Text", strOldText);
Dispatch.call(oFind,"Execute");
Dispatch.put(oSelection,"Text", strNewText);
Dispatch.call(oSelection,"MoveDown");
Dispatch.put(oSelection,"Text", "nSo we got the next line including BR.n");
Dispatch oFont= Dispatch.get(oSelection, "Font").toDispatch();
Dispatch.put(oFont,"Bold", "1");
Dispatch.put(oFont,"Italic", "1");
Dispatch.put(oFont,"Underline", "0");
Dispatch oAlign= Dispatch.get(oSelection, "ParagraphFormat").toDispatch();
Dispatch.put(oAlign,"Alignment", "3");
Dispatch oWordBasic= (Dispatch)Dispatch.call(oWord, "WordBasic").getDispatch();
Dispatch.call(oWordBasic,"FileSaveAs", strOutputDoc);
Dispatch.call(oDocument,"Close", newVariant(isSaveOnExit));
oWord.invoke("Quit", new Variant(0));
}public static voidmain(String[] args){newTest();
System.out.println("Done");
}
}
jacob.jar的結構
jacob包括兩個部分:
com.jacob.activeX: ActiveXComponent類
com.jacob.com: 其它類和元素
Jacob類
Jacob的結構很簡單,包含以下幾個類:
ActiveXComponent:封裝了Dispatch對象,用于創建一個封裝了COM組件對象的Java Object
Dispatch:用于指向封裝后的MS數據結構。常用的方法有call,subcall,get,invoke…后面會介紹使用方法。
Variant:用于映射COM的Variant數據類型。提供Java和COM的數據交換。
ComException:異常類
Jacob方法
用于訪問COM/DLL對象的方法,讀取、修改COM/DLL對象的屬性。
call:屬于Dispatch類。用于訪問COM/DLL對象的方法。方法進行了重載,方便不同場合調用。返回一個Variant類型的值。
callSub:使用方法和call一樣,不過它不返回值。
get:讀取COM對象的屬性值,返回一個Variant類型值。
put:設置COM對象的屬性值。
invoke:call的另一種用法,更復雜一些。
invokesub:subcall的另一種用法
getProperty:屬于ActiveXComponent類,讀取屬性值,返回一個Variant類型值。
setProperty:屬于ActiveXComponent類,設置屬性值。
setProperty:屬于ActiveXComponent類,設置屬性值
文章轉自:https://www.zybuluo.com/king/note/64983
總結
以上是生活随笔為你收集整理的java中 jacob作用_Jacob用法收集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 悟透JavaScript _转载
- 下一篇: u盘文件误删怎么恢复,迅龙数据恢复