Jacob简介
一、Jacob 介紹
Jacob 是 JAVA-COM Bridge的縮寫,是一個中間件,能夠提供自動化訪問MS系統下COM組件和Win32 libraries的功能。
- MS系統提供的COM組件
| MS Word | Word.Application |
| MS Excel | Excel.Application |
| MS Powerpoint | Powerpoint.Application |
| MS IE | InternetExplore.Application |
?
二、類圖
-
核心類
-
JacobObject:用于Java程序MS下的COM進行通信,創建標準的API框架
-
ComThread:初始化COM組件線程,釋放線程,對線程進行管理
-
Dispatch:調度處理類,封裝了操作來從而操作Office,并表示不同MS級別調度對象
-
ActiveXComponent : 創建COM組件
-
Variant : 與COM通訊的參數或者返回值
-
ROT :Running Object Table (ROT),運行對象表將每個線程映射到所有jacobobjects,在線程創建
-
-
核心方法
-
Dispatch : 可調用該自動化對象的屬性或方法,具體的屬性和方法要看參考文檔VBA API
- Dispatch.get(dispatch, String name);獲取對象屬性
- Dispatch.put(dispatch, String name, Object value);設置對象屬性
- Dispatch.call(dispatch, String name, Object… args);調用對象方法
-
-
類圖
?Jacob類圖
-
三、流程圖
-
四、優缺點
-
優點
- 相對于OpenOffice,轉換效果良好,
- 相對于POI,可以操作Word/Powerpoint
- 使用簡單,參照VBA API即可使用Jacob操作COM組件
-
不足
- 轉換速度慢
- CPU占用率高(單CPU占用100%)
- 并發情況下WORD可能會死鎖(微軟知識庫)
- Word宏安全問題
總結
- 上一篇: SharePoint 2010 图片播放
- 下一篇: Linux中fcitx输入法配置文件,U