ubuntu下搭建open offcie開發(fā)環(huán)境
最近在使用openoffice(以后簡稱oo)的sdk開oo的客戶端,其實主要目的就是使用oo sdk編程實現(xiàn)讀取各種格式的文檔,包括MS的,oo自己的,從文件輸入的,從clipboard輸入的。
openoffice 開發(fā)指南,首推oo的官方 使用ubuntu 8.04,搭建了oo的開發(fā)環(huán)境。
1. 安裝一些必須的軟件
主要參考使用netbeans開發(fā)openoffice程序,使用netbeans提供的openoffice插件。
只是要注意
5. 存在的問題
openoffice 開發(fā)指南,首推oo的官方 使用ubuntu 8.04,搭建了oo的開發(fā)環(huán)境。
1. 安裝一些必須的軟件
- jdk,jre
-
sudo apt-get install sun-java6-jre sun-java6-jdk
- openoffice
- 這個一般ubuntu都是默認(rèn)安裝好的。
- openoffice-java-common
- 這個很重要,ubuntu中安裝的oo不包括java開發(fā)庫,所以要自己手動安裝一下。不然編譯的時候就會提示找不到類。
-
sudo apt-get install openoffice.org-java-common
- make, g++, gcc, zip
- 這幾個命令一般都是安裝好的,如果沒有,可以使用apt-get安裝
- 下載sdk
- 因為現(xiàn)在oo的最新穩(wěn)定版是2.4,所以我們下載sdk 2.4, 下載地址, 根據(jù)自己的操作系統(tǒng),選擇不同的版本,這里我下載的是OOo-SDK_2.4.0_LinuxIntel_install.sh
- 在ubuntu命令行下運行這個shell文件,在/var/tmp/unpack_openofficeorg/RPMS目錄下得到一個openoffice.org-sdk-2.4.0-9286.i586.rpm文件。使用alien命令將rpm文件轉(zhuǎn)為deb文件,然后安裝這個deb文件。如果提示權(quán)限不夠,請修改一下文件權(quán)限。
- sudo alien openoffice.org-sdk-2.4.0-9286.i586.rpm
- sudo dpkg -i openoffice.org-sdk-2.4.0-9286.i586.deb
- 設(shè)置環(huán)境變量
- sdk安裝地址是/opt/openoffice.org2.4_sdk,進(jìn)入這個目錄
- 運行./setsdkenv_unix
- 填寫相應(yīng)參數(shù),其中officehome,填寫/usr/lib/openoffice,java jdk目錄是/usr/lib/jvm/java-6-sun,其他基本都是默認(rèn)值
- 完成之后,會在~/usrname/openoffice.org2.4_sdk下生成環(huán)境變了設(shè)置腳本,每次編譯oo程序前,運行source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh就可以了。
- 安裝完成之后,請認(rèn)真閱讀/opt/openoffice.org2.4_sdk/index.html中的內(nèi)容。
- 打開終端,設(shè)置環(huán)境變了source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh
- 進(jìn)入sdk的example目錄,cd /opt/openoffice.org2.4_sdk/example/java/目錄,這個目錄里面有很多種類的例子,比如我們進(jìn)入Text目錄
- 到Text目錄下,運行make命令,就會自動編譯所有程序。目標(biāo)程序存放地址也會顯示出來。
- 根據(jù)提示,可以運行make *****.run 命令,啟動相應(yīng)的example程序。或者,到輸入目錄下,運行 java -jar ****.jar
- 通過閱讀exmaple代碼,可以快速的學(xué)會如何使用oo api, api的文檔在/opt/openoffice.org2.4_sdk/docs中,其中
- common是通用文檔,這里面可以找到大部分的使用方法,以后多多查閱
- java,是java專用的api
主要參考使用netbeans開發(fā)openoffice程序,使用netbeans提供的openoffice插件。
只是要注意
- 配置路徑的時候,openoffice路徑是/usr/lib/openoffice,openoffice sdk路徑是/opt/openoffice.org2.4_sdk
- 建立工程之后,運行,會提示“no executable openoffice",解決方法是在工程的library中加入/usr/lib/openoffice/program
5. 存在的問題
- oo編寫的程序,需要一個可以運行的oo才可以執(zhí)行,這個oo可以是本地的,也可以是遠(yuǎn)程的。就是相當(dāng)于一個服務(wù)器。那么,這樣如何在軟件的發(fā)行版中加入一個完成的oo?也許說明,這個軟件要依賴于一個完成的oo,所以請用戶提前安裝?
- 在netbeans下開發(fā)的oo程序,打包為jar文件之后,不能正常運行。解決方法有兩個
- 通過分析例子的編譯腳本/opt/settings/std.mk文件,發(fā)現(xiàn)打包后的jar中多了一些文件,包括win/unowinreg.dll,/com/sun/star/lib/loader/下的一些類。這些類估計是尋找oo程序的。只需要在jar中添加這些文件,就可以正常運行了。
- 參考這個頁面 , 使用一個庫來連接oo