linux 下 CentOS7 安装 LibreOffice 详细过程
# 前言
有的时候我们会遇到将word转换为pdf的需求,当然,不仅仅是word转换为PDF,像图片转换为pdf等等这样的转换工作。如果涉及到以上这些需求,那么使用LibreOffice不失为一个好的方式,从转换后的准确率、转换速度、转换格式的支持LibreOffice都是比较给力的。下面,让我们具体学习下如何安装和使用libreOffice。建议选择稳定版本,这里我选择了 LibreOffice 7.6.4。
官网地址:https://zh-cn.libreoffice.org/download/libreoffice/ (opens new window)
# 安装前准备
检查当前操作系统环境是否已经安装了LibreOffice。
libreoffice --version
如果已经安装,需要把自带的LibreOffice卸载。
yum remove libreoffice-*
# 或者
yum erase libreoffice/*
2
3
# 第一种安装方法
1、进入LibreOffice官网下载你对应操作系统的包,访问地址:https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/ (opens new window),Linux 可以使用如下命令:
wget https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/LibreOffice_7.6.4.1_Linux_x86-64_rpm.tar.gz --no-check-certificate
wget https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/LibreOffice_7.6.4.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz --no-check-certificate
2
3
2、将上述的包下载下来后上传到服务器上,解压并安装
tar -zxvf LibreOffice_7.6.4.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
tar -zxvf LibreOffice_7.6.4.1_Linux_x86-64_rpm.tar.gz
cd /LibreOffice_7.6.4.1_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm
cd /LibreOffice_7.6.4.1_Linux_x86-64_rpm_langpack_zh-CN/RPMS/
yum localinstall *.rpm
2
3
4
5
6
7
3、安装成功后,会在 /opt/
目录下生成一个libreoffice7.6
的目录
4、配置环境变量
vim /etc/profile
在文档底部添加如下内容
# libreoffice
export LibreOffice_PATH=/opt/libreoffice7.6/program
export PATH=$LibreOffice_PATH:$PATH
2
3
然后
source /etc/profile
使得配置生效。正常服务器不缺少底层依赖的话,这个时候你已经成功了,可以尝试下输入:
libreoffice7.6 --help
若出现内容说明已经可以了,经过前面的步骤我们已经安装好了LibreOffice,现在试着转换个word为pdf吧。 上传个word到服务器上。然后输入以下命令:
libreoffice7.6 --headless --invisible --convert-to pdf /opt/xxx.docx --outdir /opt
转换成功!
# 第二种安装方法
1、下载rpm文件,可点击:http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/ (opens new window)进行下载,或通过执行:
wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/7.4.3/rpm/x86_64/LibreOffice_7.4.3_Linux_x86-64_rpm.tar.gz
wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/7.4.3/rpm/x86_64/LibreOffice_7.4.3_Linux_x86-64_rpm_sdk.tar.gz
wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/7.4.3/rpm/x86_64/LibreOffice_7.4.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
2
3
2、新建一个文件夹,分别解压至文件夹下
mkdir /usr/local/libreoffice
tar -zxvf LibreOffice_7.4.3_Linux_x86-64_rpm.tar.gz -C /usr/local/libreoffice/
tar -zxvf LibreOffice_7.4.3_Linux_x86-64_rpm_sdk.tar.gz -C /usr/local/libreoffice/
tar -zxvf LibreOffice_7.4.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz -C /usr/local/libreoffice/
2
3
4
上面三个文件解压之后,每个文件夹里面都有一个RPMS
文件夹,分别进入此文件夹中执行以下命令:
cd /usr/local/libreoffice/LibreOffice_7.4.3.2_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm
# 也可以使用`yum`来指定安装路径
yum -c /etc/yum.conf --installroot=/usr/local --releasever=/ localinstall *.rpm
2
3
4
5
默认会将libreoffice
的可执行安装在/opt/libreoffice7.4/program/
。
3、创建软链接
ln -s /opt/libreoffice7.4/program/soffice /usr/local/bin/
4、测试,以上安装完毕,这里再测试是否安装成功,转换一个文件试试
cd /opt/libreoffice7.4/program/
soffice --headless --convert-to pdf[要转换成的格式] 目标文件 --outdir 目标文件夹
2
文件转换成功,说明安装成功,可以在应用中使用了。
# 安装中文字体
由于Linux对于中文字体支持较差,导致中文字体转换乱码,所以这里需要手动安装中文字体。
1、在Windows的字体文件夹(C:\Windows\Fonts)里面找到需要的字体,一般中文为:楷体,宋体,黑体,仿宋,微软雅黑,英文为:Times New Roman。找到之后将这些字体copy到新的文件夹里面,这样有两个好处,一是文件名变成了英文(上传到linux机器上不会出现乱码),二是方便上传。
2、上传字体,把这些字体上传到Linux上的/usr/share/fonts/Fonts
这个目录,可以进入这个目录执行:
cd /usr/share/fonts/Fonts
fc-list :lang=zh
2
# 其他问题
问题一:报错 No such file or directory,很明显,缺少依赖了。安装一下。
yum install cairo -y
yum install cups-libs -y
yum install libSM -y
2
3
问题二:解决转换后的PDF中的中文乱码问题
一般在windows下安装我们的LibreOffice成功后,转换中文都是正常的,但在linux上基本上都会出现乱码的问题。 因为linux中缺少一些中文字体导致的。这个时候我们需要把windos中的字体文件夹上传到linux上,同步一下字体信息。
1、打开windows下C:\Windows\fonts
目录
2、将fonts目录压缩为zip包,然后上传到服务器上。上传路径为 /usr/share/fonts
3、在linux上解压上传的压缩包,因为是zip包,需要unzip命令。 如果没有要安装
yum -y install unzip
4、输入fc-list 查看系统的字体,如果报错后,需要下载,下载完成后就可以看了
yum -y install cups-libs fontconfig
5、给解压后产生的文件夹Fonts权限
chmod -R 755 /usr/share/fonts/Fonts
6、安装ttmkfdir,然后执行对应命令
yum -y install ttmkfdir
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
2
7、用vi/vim打开/etc/fonts/fonts.conf,添加我们字体文件的位置
vim /etc/fonts/fonts.conf
<dir>/usr/share/fonts/Fonts</dir>
2
8、刷新内存中的字体缓存,输入:fc-cache
9、fc-list查看一下linux系统中的字体, 有我们刚刚添加进去的
10、再试下转换,发现中文转换成功
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13