ubuntu 9.0.4 server 文件格式转换服务器
         最近因为工作原因,需要把常见的office文档转换为PDF,在由PDF转换为SWF文件,这样就可以通过网页里用FLASH播放PDF格式文档。
参考资料:
所需软件包列表:
xvfb                   (因为openoffice要在X11图形界面下跑服务,openoffice需要X11。所以需要xvfb来跑服务)
openoffice.org
openoffice.org-java-common
sun-java6-jdk
jodconverter-2.2.2.zip                 最新版 OFFICE 文档转换为PDF文件
jodconverter-tomcat-2.2.2.zip
jodconverter-webapp-2.2.2.zip 
swftools 9.0                                 PDF转换为SWF文件
下载地址
1、先安装openoffice.org等程序
apt-get install xvfb  openoffice.org openoffice.org-java-common language-pack-en language-pack-en-base language-pack-zh language-pack-zh-base language-selector language-selector-common sun-java6-jdk
2、配置java环境
vim / etc/profile填加以下
JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export JAVA_HOME PATH CLASSPATH
使配置立刻生效
source /etc/profile
在修改 /etc/environment
修改 LANGUAGE="zh_CN:zh"为 LANGUAGE="zh_CN:zh:en_US:en"
保存退出执行
source /etc/environment
最后执行
fontconfig-voodoo -f zh_CN
3、这装jodconverter软件包
把下载下来的三个jodconverter软件包,解压到/data/jodc/目录
ubuntu server不带unzip解压缩工具包,用apt-get install unzip安装一下
unzip jodconverter-2.2.2.zip 
unzip jodconverter-tomcat-2.2.2.zip
unzip jodconverter-webapp-2.2.2.zip
4、安装swftools工具包
tar zxvf swftools9.0
./configure
make && make install
发现一个问题ubuntu server下不带编译环境,得手动安装
sudo aptitude install build-essential
这样gcc c++等相关软件包会自动安装上
我在ubuntu系统上没有安装成功。一直没找到原因,我是在centos安装成功的swftools工具包,直接scp到ubuntu serve上的。还有几个文件库文件也得一同复制到/usr/lib目录下.
scp centos:/usr/bin/ libjpeg.so.62 /usr/lib
scp centos:/usr/bin/ libfontconfig.so.1 /usr/lib
scp centos:/usr/bin/ libfreetype.so.6 /usr/lib
5、启动服务
xvfb-run -a soffice -headless -nologo -norestore -nofirststartwizard -accept= "socket,host=localhost,port=8100;urp"
使用netstat -natulp 查看是否有8100端口,如果存在,说明服务启动成功,如下图:
root@ubuntu:/data# netstat -natulp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address        Foreign Address     State        PID/Program name
tcp                0            0 127.0.0.1:8100     0.0.0.0:*                 LISTEN     2469/soffice.bin
tcp                0            0 0.0.0.0:22             0.0.0.0:*                 LISTEN     2156/sshd
6、启动jodconverter-tomcat
root@ubuntu:/data# jodc/jodconverter-tomcat-2.2.2/bin/startup.sh    
Using CATALINA_BASE:     /data/jodc/jodconverter-tomcat-2.2.2
Using CATALINA_HOME:     /data/jodc/jodconverter-tomcat-2.2.2
Using CATALINA_TMPDIR: /data/jodc/jodconverter-tomcat-2.2.2/temp
Using JRE_HOME:             /usr/lib/jvm/java-6-sun
7、测试把OFFICE文档转换为PDF文件档
java -jar jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar 1.doc 1.pdf
当然也可以使用web介面来进行转换
如下图所示
8、使用swftools工具把PDF文件转为SWF文件
pdf2swf 1.pdf 1.swf
9、ubuntu serve默认的字体不多,有时转换出来的PDF文档字体显示会有问题
优化ubuntu 字体。
直接将windows系统的相关字体复制到linux字体目录下
windows字体目录 c:\windows\fonts
linux字体目录 /usr/share/fonts
目前我只复制了以下字体
simfang.ttf 仿宋体
simhei.ttf 黑体
simkai.ttf 楷体
simsun.ttf 宋体和新宋体,原文件名simsun.ttc
tahoma.ttf tahoma字体
tahomabd.ttf tahoma字体的粗体形式
verdana.ttf verdana字体
verdanab.ttf verdana字体的粗体形式
verdanai.ttf verdana字体的斜体形式
verdanaz.ttf verdana字体的粗体+斜体形式
在ubuntu server目录里新建一个win文件夹
mkdir /usr/share/fonts/win
将以上字体文件复制到/usr/share/fonts/win目录下
执行
mkfontscale
mkfontdir
fc-cache
fc-cache -f -v
mkfont命令是生成win目录下所包含的字体的索引信息。然后运行fc-cache命令更新字体缓存
reboot 重启系统。字体美化就OK了!
10、突破web介面文档大小限制转换。默认不支持大于4M的office文档转换
进入jodconverter-tomcat-2.2.2/webapps/converter/WEB-INF目录,
vi applicationContext.xml
将文件底部的  
 <value> 4194304</value><!-- 4MB -->    修改成为
 <value> 14194304</value><!-- 14MB --> 限制为14M
 保存,退出,重启jodconverter-tomcat