Ubuntu下搭建open office开发环境


最近在使用openoffice(以后简称oo)的sdk开oo的客户端,其实主要目的就是使用oo sdk编程实现读取各种格式的文档,包括MS的,oo自己的,从文件输入的,从clipboard输入的。
openoffice 开发指南,首推oo的官方Developers_Guide,介绍的很全面,唯一的缺点就是太长了。可以当成手册来看。可以通过分析sdk中的例子,快速的掌握如何使用这个sdk。本文主要参考Developer's Guide中的第一章,以及sdk安装后的帮助手册。
使用Ubuntu 8.04,搭建了oo的开发环境。

1. 安装一些必须的软件
    • jdk,jre
      • sudo apt-get install sun-java6-jre sun-java6-jdk
    • openoffice
      • 这个一般Ubuntu都是默认安装好的。
    • openoffice-java-common
      • 这个很重要,Ubuntu中安装的oo不包括java开发库,所以要自己手动安装一下。不然编译的时候就会提示找不到类。
      • sudo apt-get install openoffice.org-java-common
    • make, g++, gcc, zip
      • 这几个命令一般都是安装好的,如果没有,可以使用apt-get安装
      2. 安装sdk
      1. 下载sdk
        1. 因为现在oo的最新稳定版是2.4,所以我们下载sdk 2.4, 下载地址, 根据自己的操作系统,选择不同的版本,这里我下载的是OOo-SDK_2.4.0_LinuxIntel_install.sh
      2. 在Ubuntu命令行下运行这个shell文件,在/var/tmp/unpack_openofficeorg/RPMS目录下得到一个openoffice.org-sdk-2.4.0-9286.i586.rpm文件。使用alien命令将rpm文件转为deb文件,然后安装这个deb文件。如果提示权限不够,请修改一下文件权限。
        1. sudo alien  openoffice.org-sdk-2.4.0-9286.i586.rpm
        2. sudo dpkg -i openoffice.org-sdk-2.4.0-9286.i586.deb
      3. 设置环境变量
        1. sdk安装地址是/opt/openoffice.org2.4_sdk,进入这个目录
        2. 运行./setsdkenv_unix
        3. 填写相应参数,其中officehome,填写/usr/lib/openoffice,java jdk目录是/usr/lib/jvm/java-6-sun,其他基本都是默认值
        4. 完成之后,会在~/usrname/openoffice.org2.4_sdk下生成环境变了设置脚本,每次编译oo程序前,运行source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh就可以了。
      4. 安装完成之后,请认真阅读/opt/openoffice.org2.4_sdk/index.html中的内容。
      3. 运行sdk中的例子
      1. 打开终端,设置环境变了source ~/openoffice.org2.4_sdk/setsdkenv_unix.sh
      2. 进入sdk的example目录,cd /opt/openoffice.org2.4_sdk/example/java/目录,这个目录里面有很多种类的例子,比如我们进入Text目录
      3. 到Text目录下,运行make命令,就会自动编译所有程序。目标程序存放地址也会显示出来。
      4. 根据提示,可以运行make *****.run 命令,启动相应的example程序。或者,到输入目录下,运行 java -jar ****.jar
      5. 通过阅读exmaple代码,可以快速的学会如何使用oo api, api的文档在/opt/openoffice.org2.4_sdk/docs中,其中
        1. common是通用文档,这里面可以找到大部分的使用方法,以后多多查阅
        2. java,是java专用的api
      4. 安装netbeans作为openoffice开发ide

      主要参考使用netbeans开发openoffice程序,使用netbeans提供的openoffice插件。
      只是要注意
      1. 配置路径的时候,openoffice路径是/usr/lib/openoffice,openoffice sdk路径是/opt/openoffice.org2.4_sdk
      2. 建立工程之后,运行,会提示“no executable openoffice",解决方法是在工程的library中加入/usr/lib/openoffice/program
      也可以使用eclipse,但是我一直没有运行成功。参考这里这里

      5. 存在的问题
      1. oo编写的程序,需要一个可以运行的oo才可以执行,这个oo可以是本地的,也可以是远程的。就是相当于一个服务器。那么,这样如何在软件的发行版中加入一个完成的oo?也许说明,这个软件要依赖于一个完成的oo,所以请用户提前安装?
      2. 在netbeans下开发的oo程序,打包为jar文件之后,不能正常运行。解决方法有两个
        1. 通过分析例子的编译脚本/opt/settings/std.mk文件,发现打包后的jar中多了一些文件,包括win/unowinreg.dll,/com/sun/star/lib/loader/下的一些类。这些类估计是寻找oo程序的。只需要在jar中添加这些文件,就可以正常运行了。
        2. 参考这个页面 , 使用一个库来连接oo
      6. 有用的网页
      1. 保存文件的操作
      2. 文件另存为/转换的操作
      3. 操作粘贴版的操作
      4. 使用open office入门级实例程序

      相关内容