Centos7 libreOffice 实践部署

发布时间:2023年12月27日

软件下载

中国官网链接
官网历史版本

这里以版本【6.4.5.1】为例子
LibreOffice_6.4.5.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
LibreOffice_6.4.5.1_Linux_x86-64_rpm.tar.gz
在这里插入图片描述
在这里插入图片描述

上传解压

]# pwd
/usr/local/src
#tar -zxvf xxx
# ll
drwxr-xr-x 4 root root        48 6月  11 2020 LibreOffice_6.4.5.1_Linux_x86-64_rpm
drwxr-xr-x 3 root root        18 6月  11 2020 LibreOffice_6.4.5.1_Linux_x86-64_rpm_langpack_zh-CN
-rw------- 1 root root    843112 12月 27 10:05 LibreOffice_6.4.5.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
-rw-r--r-- 1 root root 256207809 12月 27 10:04 LibreOffice_6.4.5.1_Linux_x86-64_rpm.tar.gz

安装

# cd LibreOffice_6.4.5.1_Linux_x86-64_rpm/RPMS/   进入LibreOffice目录
# yum -y install *.rpm    全部安装(可自定义指定目录)

# cd LibreOffice_6.4.5.1_Linux_x86-64_rpm_langpack_zh-CN/RPMS/   进入中文语言包目录
# yum -y install *.rpm    全部安装

默认安装目录为/opt/libreoffice6.4/

# pwd
/opt
# ls
libreoffice6.4
# cd libreoffice6.4/program/
#这里如果少依赖则安装,如果不缺少则跳过。主要是查看有没有soffice这个执行文件
# yum install cairo 
# yum install cups-libs
# yum install libSM

# /opt/libreoffice6.4/program/soffice --version            表示安装完成
LibreOffice 6.4.5.1 be964ce243d03404cfeed53d0487f5d6bd49c627

验证

验证(例如docx转pdf)
随便上传个docx文件,这里随便上传一个ETCD.docx

# pwd
/opt
# ls
ETCD.docx  libreoffice6.4

–convert-to pdf 后面的 /opt/ETCD.docx为原文件路径
–outdir /opt/(转换后文件存放目录)

#/opt/libreoffice6.4/program/soffice --headless --invisible --convert-to pdf /opt/ETCD.docx --outdir /opt/

# sz ETCD.pdf 

下载 ETCD.pdf: 51.5 KB 100%

查看转化后的pdf文件如下:
在这里插入图片描述
打开ETCD.pdf 全乱码!字体原因,linux上没有windows的字体。

windows字体包上传centos

windows字体在C:\Windows\Font下
centos字体在/usr/share/fonts下
在这里插入图片描述
将C:\Windows\Font\下所有字体上传至windowsFont目录下
我的方法是把window下面的字体目录打成一个zip包,然后上传到centos服务器进行解压。放到一个windowsFont的目录中。

# cd /usr/share/fonts/
# ls        默认已经有的目录
dejavu  google-crosextra-caladea  google-crosextra-carlito  liberation  opensymbol 
# mkdir windowsFont/        新增一个目录windowsFont
# ls
dejavu  google-crosextra-caladea  google-crosextra-carlito  liberation  opensymbol  windowsFont
# cd windowsFont/
# unzip Fonts.zip .      #把windows上面字体压缩包解压缩到当前目录中【windowsFont】
# pwd
/usr/share/fonts/windowsFont
# ls |head -n20
8514fixe.fon
8514fix.fon
8514fixg.fon
8514fixr.fon
8514fixt.fon
8514oeme.fon
......

刷新字体

# mkfontscale

# mkfontdir     #加载有些识别不了,原因是window的字体不是每个都用得到,我们拷贝字体是全量拷贝 忽略即可

# fc-cache

再次验证

# pwd
/opt
# /usr/bin/libreoffice6.4 --headless --invisible --convert-to pdf /opt/ETCD.docx --outdir /opt/1   #这次放在1目录下
# ls
1  ETCD.docx  ETCD.pdf  libreoffice6.4
# sz 1/ETCD.pdf 

下载 ETCD.pdf: 153.8 KB 100%

打开新下载的pdf文件,可以查看已经正常。
在这里插入图片描述

java服务引用异常

调用的过程中,需要寻找linux机器中的libreoffice软件。
如下java服务调用异常:
在这里插入图片描述
officeHome 没找到,可以在启动参数后面增加参数 “-Doffice.home”
这里注意 不能有引号以及斜杠

/opt/libreoffice6.4 为软件安装目录

/usr/bin/java -Xms512m -Xmx512m -Doffice.home=/opt/libreoffice6.4 -jar xxxx-server.jar --spring.profiles.active=dev

如果还是有异常,可以尝试通过软连接的方式进行环境变量的软连接指向

# ln -s /usr/bin/libreoffice6.4  /usr/local/lib/libreoffice
文章来源:https://blog.csdn.net/weixin_45651006/article/details/135246135
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。