jacob不支持linux;jacob是“Java-COM Bridge”的縮寫,是一個中間件,能夠提供自動化訪問MS系統下COM組件和“Win32 libraries”的功能,并且jacob只支持windows,不支持linux。
本教程操作環境:linux7.3系統、Dell G3電腦。
jacob支持linux嗎
jacob現在只支持windows,不支持linux
jacob包應該是針對windows的 如果你下載的包里包含.0s的文件 說明可以再linux下使用 但是既然
是基于JNI 就要調用系統庫,linux下怎么可能有word之類的系統庫呢
Jacob只能在windows平臺下用,所以寫程序前一定要清楚這一前提
擴展知識
Jacob 介紹
Jacob 是 JAVA-COM Bridge的縮寫,是一個中間件,能夠提供自動化訪問MS系統下COM組件和Win32 libraries的功能。
MS系統提供的COM組件
COM組件 | 對象ID |
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宏安全問題
-
推薦學習:Linux視頻教程