Ubuntu Server 安装 OpenOffice 文档转换服务

环境:Ubuntu Server 11.04 64位,OpenJDK 6, OpenOffice 3

使用 jodconverter 需要用到OpenOffice的文档转换服务,实际部署时遇到中文转换乱码的问题,以下为详细的安装部署过程:


1) 运行如下命令安装OpenOffice及相关依赖的库:
$ sudo apt-get install xvfb -->约11.5MB
$ sudo apt-get install openoffice.org -->约130MB
$ sudo apt-get install openoffice.org-Java-common
$ sudo apt-get install language-pack-zh-* -->必须的中文字体包
$ sudo apt-get install language-selector language-selector-common -->约35.4MB2) 修改 /etc/environment (这个貌似不配置也行,我没试过)

修改 LANGUAGE="zh_CN:zh" 为 LANGUAGE="zh_CN:zh:en_US:en",没有就添加进去。

保存退出执行如下两个命令:

$ source /etc/environment

$ fontconfig-voodoo -f zh_CN


3) 安装openjdk6和中文字体配置 (这个是解决中文乱码的关键)

$ sudo apt-get install openjdk-6-jdk -->安装openjdk6

$ sudo apt-get install ttf-wqy-microhei -->安装中文字体

然后运行如下命令修改Java字体配置:

$ sudo vi /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties

修改为如下节点对应的值:

allfonts.umingcn=WenQuanYi Microhei Hei

allfonts.uminghk=WenQuanYi Microhei Hei

allfonts.umingtw=WenQuanYi Microhei Hei

allfonts.wqy-zenhei=WenQuanYi Microhei Hei

allfonts.shanheisun=WenQuanYi Microhei Hei

filename.WenQuanYi_Microhei_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc


4) 启动 OpenOffice 文档转换服务 (记得后面有个符号&哦)

$ /usr/lib/libreoffice/program/soffice.bin -headless -nologo -norestore -nofirststartwizard -accept="socket,host=localhost,port=8100;urp" &

注:8100为端口号,可以按照实际需要更改。


其他注意事项:

如果使用jodconverter出现如下异常,只须将 jodconverter 的 tomcat 服务和 OpenOffice 的文档转换服务使用同一个用户启动即可:

com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not save output document; OOo errorCode: 525
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(OpenOfficeDocumentConverter.java:142)
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:120)
com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104)
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:88)
com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:82)
......

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pspdw.html