一、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复制
- yum install -y libSM.x86_64 libXrender.x86_64 libXext.x86_64
- yum groupinstall -y "X Window System"
- sudo yum install ./LibreOffice_7.5.3.2_Linux_x86-64_rpm/RPMS/*.rpm
- 即 将解压后文件夹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、创建一个软链接
- 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复制
- 手动解压或者使用命令行解压
- unzip fonts.zip -d /usr/share/fonts/
- #如果没有unzip指令会报错
- 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 文件,将字体中文名映射为英文 例子:
- <alias binding="same">
- <family>仿宋_GB2312</family>
- <accept>
- <family>FangSong_GB2312</family>
- </accept>
- </alias>
- <alias binding="same">
- <family>宋体</family>
- <accept>
- <family>SimSun</family>
- </accept>
- </alias>
- <alias binding="same">
- <family>华文中宋</family>
- <accept>
- <family>STZhongsong</family>
- </accept>
- </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 进行首次验证
- 报错:缺少 libXinerama.so.1 共享库文件
- [root@localhost libreOffice]# /usr/bin/libreoffice7.5 --invisible --convert-to pdf qw.docx
- /opt/libreoffice7.5/program/oosplash: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory 解决:安装缺失的依赖项
sudo yum install libXinerama
更新动态链接库缓存
代码语言:javascript复制sudo ldconfig
报错:缺少 Java Runtime Environment (JRE) 和 libcairo.so.2 共享库文件
- [root@localhost libreOffice]# /usr/bin/libreoffice7.5 --invisible --convert-to pdf qw.docx
- javaldx: Could not find a Java Runtime Environment!
- Warning: failed to read path from javaldx
- /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({});