Linux版本openoffice4.1.2和SwfTools的安装(CentOS6.5-6.7)

版权声明:本文为博主原创文章,未经博主允许不得转载,其实这是一种态度。 https://blog.csdn.net/lbf5210/article/details/50550301

Linux系统下安装openoffice和swftools;这两个组件在上篇博客(在线预览的开发解析)已经介绍过,在这里我就详细的说一下安装过程(安装过程不需要重启服务器):

一、openoffice4.1.2安装


1、首先下载rpm包(官网或者其他网站都可以)但是要注意版本,我建议是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 &


若出现以下错误:(这个问题其实有点恶心)

/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display: 
   Set DISPLAY environment variable, use -display option
   or check permissions of your X-Server
   (See "man X" resp. "man xhost" for details)

执行:export DISPLAY=:0.0 再执行上述启动命令即可(如果没用)
看报错信息意思:
libreoffice显然是试图请求X服务(你似乎表明你没有运行 所以报错)
或者那不是正确的标志,
或者它不像你期望的那样工作(并且仍然需要X服务来工作)

那可能就是缺少这个服务,那就来添加
yum install openoffice.org-headless
安装完成后,再去启动;



还有一种就是:

把启动命令设置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

   

备注说明(如果再此过程中,误删了openoffice4文件夹,不要着急,这时候你在很据以上步骤是没用的,这个时候只需要将之前安装的包 reinstall 覆盖安装一下就可以了,就会重新找到openoffice启动包)

6、查看服务是否启动(端口8100是否被soffice占用):netstat -nltp|grep 8100

显示结果:tcp        0      0 127.0.0.1:8100              0.0.0.0:*                   LISTEN      19501/soffice.bin


在此过程中基本不会发生问题,在我安装过程中出现过这样的 问题,就是在安装 openoffice4.1.2-redhat-menus-4.1.2-9782.noarch.rpm 的时候有一个报错:
如:


翻译过来就是现有的安装包与系统中含有的包冲突(原因可能是服务器以前安装过openoffice),看报错应该能明白意思,出现冲突的时候,可以用 yum的命令将冲突的包(原有的包)删掉,yum erase 包名  意思就是 Remove a package or packages from your system;
(在如上报错中,那直接将冲突的包 libreoffice-core-a:4.2.8.2-11.el6.x86_64 删除,然后在
重新安装openoffice4.1.2-redhat-menus-4.1.2-9782.noarch.rpm即可
二、swfTools安装

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/

测试:

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"



猜你喜欢

转载自blog.csdn.net/lbf5210/article/details/50550301