Java透過jacob可使用Windows下的ActiveX元件
作者:ballboy 日期:2010-06-15
前陣子研究要將Office文件轉PDF!
發現可以透過Office去轉! 因為使用Java! 所以必須透過jacob去控制Windows下的ActiveX元件
進而控制Office來執行轉PDF的動作!
注意若你的JDK大於1.3以上的版本! 記的要下載最新版的jacob!
否則會有錯誤發生!
需要jacob.jar和jacob.dll兩個文件就可以了! dll放在sys32目錄下(什麼事都不用作,連註冊都不用)
下面是透過jacob去開啟與關閉WORD!
public boolean openWord(String filePath) {
wordCom = new ActiveXComponent("Word.Application");
try {
Dispatch wrdDocs = wordCom.getProperty("Documents").toDispatch();
wordDoc = Dispatch.invoke(wrdDocs, "Open", Dispatch.Method,
new Object[] { filePath }, new int[1]).toDispatch();
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
public void closeWord(boolean saveOnExit) {
if (wordCom != null) {
wordCom.invoke("Quit", new Variant[] {});
wordCom = null;
ComThread.Release();
}
}
更詳細的Jacob使用方式要再研究研究! 是個很有趣的東西!
發現可以透過Office去轉! 因為使用Java! 所以必須透過jacob去控制Windows下的ActiveX元件
進而控制Office來執行轉PDF的動作!
注意若你的JDK大於1.3以上的版本! 記的要下載最新版的jacob!
否則會有錯誤發生!
需要jacob.jar和jacob.dll兩個文件就可以了! dll放在sys32目錄下(什麼事都不用作,連註冊都不用)
下面是透過jacob去開啟與關閉WORD!
public boolean openWord(String filePath) {
wordCom = new ActiveXComponent("Word.Application");
try {
Dispatch wrdDocs = wordCom.getProperty("Documents").toDispatch();
wordDoc = Dispatch.invoke(wrdDocs, "Open", Dispatch.Method,
new Object[] { filePath }, new int[1]).toDispatch();
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
public void closeWord(boolean saveOnExit) {
if (wordCom != null) {
wordCom.invoke("Quit", new Variant[] {});
wordCom = null;
ComThread.Release();
}
}
更詳細的Jacob使用方式要再研究研究! 是個很有趣的東西!
[本日誌由 ballboy 於 2010-06-17 05:38 PM 編輯]
文章來自: 本站原創
引用通告: 查看所有引用 | 我要引用此文章
Tags: ActiveXComponent java jacob
文章來自: 本站原創
Tags: ActiveXComponent java jacob 評論: 0 | 引用: 0 | 查看次數: 180
發表評論

上一篇
下一篇







