centos下手动安装libreoffice程序–亲测可行

2024-08-07 16:13:28 浏览数 (3)

一、libreoffice安装 验证

1、官网下载安装

Download LibreOffice | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft

我下载的是7.5.3.2

https://downloadarchive.documentfoundation.org/libreoffice/old/7.5.3.2/rpm/x86_64/LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz

2、解压缩

代码语言:javascript复制
tar -zxvf LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz

3、卸载旧版本

代码语言:javascript复制
sudo yum erase libreoffice*

4、安装

代码语言:javascript复制
  1. yum install -y libSM.x86_64 libXrender.x86_64 libXext.x86_64
  2. yum groupinstall -y "X Window System"
  3. sudo yum install ./LibreOffice_7.5.3.2_Linux_x86-64_rpm/RPMS/*.rpm
  4. 即 将解压后文件夹RPMS下的所有rpm文件全部安装即可

5、环境变量配置

如果报command not found,则需vim文档去配置(添加到文档末即可) vim /etc/profile

export LibreOffice_PATH=/opt/libreoffice7.5/program export PATH=$LibreOffice_PATH:$PATH

执行命令刷新缓存

source /etc/profile

*6安装完成测试

输入这个命令测试,能出版本号则代表安装成功了

soffice --version

7、创建一个软链接

  1. ln -s /opt/libreoffice7.5/program/soffice /usr/bin/libreoffice ln -s /opt/libreoffice7.5/program/soffice /usr/local/lib64/libreo

8.验证功能是否正常

代码语言:javascript复制
soffice --headless --convert-to pdf /home/usr/apache-tomcat-8.5.87/temp/文档.docx --outdir /home/usr/apache-tomcat-8.5.87/temp/
能正常生成文档就正常了---world转pdf能转就代表成功了

如果出现报错则可以看最后面的报错处理

#安装中文字体----(若乱码没有中文字体时)

法一 ----推荐 1、下载字体安装包

字体安装包下载

链接: https://pan.baidu.com/s/1W4Zj11A3eQcRYMC8RvIF4A

提取码: 6666

若失效可私信我,百度云盘有备份

2、解压fonts.zip

代码语言:javascript复制
unzip fonts.zip  -d /usr/share/fonts/

3、进入目录

代码语言:javascript复制
cd /usr/share/fonts
代码语言:javascript复制

4、解压fonts.zip

代码语言:javascript复制
  1. 手动解压或者使用命令行解压
  2. unzip fonts.zip -d /usr/share/fonts/
  3. #如果没有unzip指令会报错
  4. yum install -y unzip zip #安装unzip 解压后目录截图示例

5、如果没有这个目录安装

代码语言:javascript复制
yum -y install fontconfig
直接执行,我也不是太懂这个命令,执行后这个目录出现了

6、验证

输入fc-list :lang=zh查看语言包是否安装成功,若能列出来就代表成功了,再次转换文件中文就显示了

法二--未亲自测试,作为备用方法吧

把windows下C:WindowsFonts文件夹复制一份到其它盘,然后打包成Fonts.zip,上传到服务器:/usr/share/fonts/chinese(chinese目录不存在则创建一个),解压安装:

解压:unzip Fonts.zip

赋权:chmod 755 *

安装:mkfontscale (命令不存在则需要先安装:yum install mkfontscale)

运行:mkfontdir

清除缓存:fc-cache –fv

查看已安装的中文字符集:fc-list :lang=zh

word转pdf后,pdf的字体不对,不正确 修改了 libreoffice/share/fonts/truetype/fc_local.conf 文件,将字体中文名映射为英文 例子:

  1. <alias binding="same">
  2. <family>仿宋_GB2312</family>
  3. <accept>
  4. <family>FangSong_GB2312</family>
  5. </accept>
  6. </alias>
  7. <alias binding="same">
  8. <family>宋体</family>
  9. <accept>
  10. <family>SimSun</family>
  11. </accept>
  12. </alias>
  13. <alias binding="same">
  14. <family>华文中宋</family>
  15. <accept>
  16. <family>STZhongsong</family>
  17. </accept>
  18. </alias>

测试文件转换---word转pdf,上传一个word到服务器上,执行命令进行转换

代码语言:javascript复制
soffice --headless --convert-to pdf /www/wwwroot/mh.jpg-png.cn/public/python/666.docx --outdir /www/wwwroot/mh.jpg-png.cn/public/python

#报错解决

可能出现的报错,建议解决完报错后里面执行libreoffice --version 进行首次验证

  1. 报错:缺少 libXinerama.so.1 共享库文件
  2. [root@localhost libreOffice]# /usr/bin/libreoffice7.5 --invisible --convert-to pdf qw.docx
  3. /opt/libreoffice7.5/program/oosplash: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory 解决:安装缺失的依赖项
代码语言:javascript复制
sudo yum install libXinerama

更新动态链接库缓存

代码语言:javascript复制
sudo ldconfig

报错:缺少 Java Runtime Environment (JRE) 和 libcairo.so.2 共享库文件

  1. [root@localhost libreOffice]# /usr/bin/libreoffice7.5 --invisible --convert-to pdf qw.docx
  2. javaldx: Could not find a Java Runtime Environment!
  3. Warning: failed to read path from javaldx
  4. /opt/libreoffice7.5/program/soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory

解决: 安装 Java Runtime Environment (JRE)

代码语言:javascript复制
sudo yum install java-1.8.0-openjdk

安装缺失的 libcairo.so.2 依赖项

代码语言:javascript复制
sudo yum install cairo

更新动态链接库缓存

代码语言:javascript复制
sudo ldconfig

至此:完美解决!

备注

如果出现yum 安装失败的问题,则需要更换yum源和docker源

centos更换yum源教程

更换docker源教程

更换后就可以使用yum命令顺利安装好确实的依赖了

(adsbygoogle = window.adsbygoogle || []).push({});

0 人点赞