Linux系统下安装openoffice和swftools;这两个组件在上篇博客(在线预览的开发解析)已经介绍过,在这里我就详细的说一下安装过程(安装过程不需要重启服务器):
一、openoffice4.1.2安装
1、首先下载rmp包(官网或者其他网站都可以)但是要注意版本,我建议是4.1.2版本,因为以前的版本不支持含有中文的文件名的文档转pdf;我下载的是这个 Apache_OpenOffice_4.1.2_Linux_x86-64_install-rpm_zh-CN.tar.gz
下载到服务器的路径(自己决定)下;
2、将下载的openoffice解压:tar -zxvf Apache_OpenOffice_4.1.2_Linux_x86-64_install-rpm_zh-CN.tar.gz;
3、解压后生成文件夹zh-CN 进到RPMS目录下,直接yum localinstall *.rpm或者yum -ivh *rpm 安装所有rpm文件;
4、再装RPMS/desktop-integration目录下的openoffice4.1.2-redhat-menus-4.1.2-9782.noarch.rpm:
yum localinstall openoffice4.1.2-redhat-menus-4.1.2-9782.noarch.rpm
5、安装完成直接启动Openoffice服务:
默认安装位置为/opt下
临时启动
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
一直后台启动
nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
还有一种就是:
把启动命令设置linux服务器启动的时候默认加载
[root@okidea lib]# cat/etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
#route add default gw 192.168.40.11
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
touch /var/lock/subsys/local
6、查看服务是否启动(端口8100是否被soffice占用):netstat -nltp|grep 8100
显示结果:tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN 19501/soffice.bin
SWFTools是一种实用工具与Adobe Flash文件(SWF文件)工作的集合。
1. 下载:http://www.swftools.org/download.html
解决在CentOS 6.5 64bit 下编译安装失败需要先安装如下软件。
# yum -y install gcc* automake giflib-devel libjpeg-devel freetype-devel t1lib-devel zlib
这里安装的依赖jar包不一定满足您所在系统环境下安装时不报错,如果报错可根据报错信息来安装相关依赖jar;
2.安装swftools
1)# tar -xzvf swftools-0.9.2.tar.gz
2)# cd swftools-0.9.2
3)# ./configure --prefix=/usr/local/swfTools(这个是指定的安装路径)
4)# make 这个过程注意查看安装日志信息
安装过程中(make),出现类似如下错误:
* The following headers/libraries are missing: jpeglib t1lib ungif jpeglib.h freetype t1lib.h gif_lib.h
* Disabling pdf2swf tool...
* Disabling jpeg2swf tool...
* Disabling gif2swf tool...
解决办法:yum install giflib-devel libjpeg-devel freetype-devel t1lib-devel
类似这种报错,都需要去安装jar包,很据报错信息而定;
5)# make install
这个过程如果出现报错:
类似于
make[1]: *** [install] 报错信息
make[1]: Leaving directory `/root/swftools-0.9.2/swfs'
make: *** [install] 报错信息
解决的办法是修改 swftools-0.9.2/swfs下的
Makefile和Makefile.in文件;
install:
$(mkinstalldirs) $(pkgdatadir)
$(mkinstalldirs) $(pkgdatadir)/swfs
$(INSTALL_DATA) ./simple_viewer.swf $(pkgdatadir)/swfs/simple_viewer.swf
$(INSTALL_DATA) ./keyboard_viewer.swf $(pkgdatadir)/swfs/keyboard_viewer.swf
$(INSTALL_DATA) ./PreLoaderTemplate.swf $(pkgdatadir)/swfs/PreLoaderTemplate.swf
$(INSTALL_DATA) ./tessel_loader.swf $(pkgdatadir)/swfs/tessel_loader.swf
$(INSTALL_DATA) ./swft_loader.swf $(pkgdatadir)/swfs/swft_loader.swf
rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf
$(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf
$(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
将两个文件中的标记红色的 -o -L 去掉;
然后在make install即可;
设置swftools环境变量,使pdf2swf成为一个可执行命令
vim /etc/profile
export PATH=$PATH:/usr/local/swftools/bin/
安装xpdf语言包。下载xpdf-chinese-simplified.tar.gz文件,解压到/usr/local下,编辑add-to-xpdfrc文件,如下:
vim /usr/local/xpdf-chinese-simplified/add-to-xpdfrc
最后使用如下转换命令测试:
pdf2swf -s languagedir=/usr/local/xpdf-chinese-simplified -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 "/opt/123.pdf" -o "/opt/test/%.swf"
openOfficeStartCommand = /usr/lib/openoffice.org3/program/soffice.bin/ -headless\ -accept="socket,host=127.0.0.1,port=8100;urp;"\ -nofirststartwizard
pdfToSwfCommand = /usr/local/swftools/bin/pdf2swf
bitMapc=-T 9 -s poly2bitmap -s zoom=150
zoom=150
langc=-s languagedir=/usr/local/xpdf-chinese-simplified
port = 8100