由于工作需要,公司要摆脱windows office,没办法,看上了openoffice,打算定制化公司自己的office,很不幸的被抽调搞OpenOffice开发。苦于网络上有关OpenOffice的中文资料少之甚少,决定要将这些知识记录下来。我很不喜欢公司这种拿了别人的东西,却不分享的作风。由于公司的封闭式的工作环境,没法将自己的工作记录带出了,只能凭着记忆把这个项目开发的过程记录下来。以下文章免不了遗漏了很多细节,但大部分都是比较关键性的步骤。
PS:openOffice api 开发文档大部分样例都是java例子。api文档也是大部分针对java说明的;建议不要走C++,走c++的话会相当麻烦;
OpenOffice SKD API 开发(1) sdk环境搭建
环境准备:
1、win7旗舰版32位;(推荐在windowsxp下搭建, 出错的几率较少;)
2、Office版本—Apache_OpenOffice_incubating_3.4.1_Win_x86_install_en-US(推荐使用英文版OpenOffice.org,中文版在编译一些java程序会有不可预知错误)
3、Officesdk版本—Apache_OpenOffice_incubating-SDK_3.4.1_Win_x86_install_en-US
4、javasdk—jdk1.6.0_10
5、Office运行使用java运行环境--JRE6
6、GNUmake工具。非windows系统下载地址:ftp://ftp.gnu.org/gnu/make.注意windows要使用mingw32-make工具地址是http://www.mingw.org/wiki/Getting_Started
下载mingw32-make.exe安装程序后,启动程序会自动下载所有必须的dll以及所有的exe。 说明,make工具是用来对执行dk安装包里的样例的MAKEFILE文件,makefile文件相当于工程文件,这个文件告诉编译器改怎么编译文件,怎么打包文件等;
7、ZIP工具用来打包的工具。下载地址http://www.info-zip.org
8、vs工具;(例如vs2008,可选,做c++开发就要用)
9、.NETframework(可选,做c#开发就要用)
10、推荐使用NetBeans IDE 7.3 开发(java)
目前OpenOffice.org.3.4对java7支持不完美,如果有java更新,不要点击java的自动更新,或者去掉java自动更新;否则可能会出现一些无法预知的异常;
工具准备好之后,先看SDK安装包里面的安装指导。在sdk/index.html—install.html
在这个网页介绍里有所有必须工具的下载地址,以及怎么搭建环境的指导。以及环境搭建的脚本程序cfgWin.js;需要格外注意的是,注意所使用的系统环境,一般不建议使用脚本程序搭建环境。
推荐使用方法:将sdk/setsdkenv_windows.bat.temp文件去掉后面的.temp。然后打开该批处理,手动设定里面的环境变量;
各个变量含义在index.html的install.index页面有讲述;
简单含义如下:
OFFICE_HOME | OpenOffice.org安装路径 | OO_SDK_NAME | sdk的名称 | OO_SDK_URE_HOME | OpenOffice.org的URE路径,在OpenOffice.rog3/URE | OO_SDK_HOME | SDK的安装路径。 | OO_SDK_JAVA_HOME | 您系统中的JAVA安装路径。例如:c:\programfile\java\java1.6.0_10 (使用java开发程序用) | OO_SDK_CPP_HOME | c++编译器路径。(使用c++和C开发用到) | OO_SDK_CLI_HOME | .netframework安装路径。(使用C#开发用) | OO_SDK_MAKE_HOME | make工具路径。(windows下用mingw32-make) | OO_SDK_ZIP_HOME | zip工具(打包用。比如生成插件时就会用到zip) | OO_SDK_OUTPUT_DIR | 输出路径 | SDK_AUTO_DEPLOYMENT | 是否自动安装(比如生成了一个插件,生成好了就会自动安装到OOo中去) | | | |
配置截图如下:
运行CMD.运行上述批处理,设定环境配置;最终结果如下:
到了这一步之后,基本的配置就完成了。可以试着编译自带的样例来看一下API开发的样例是个什么样,也给自己点信心;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)