使用libreoffice将word转化成pdf
# 前言
有的时候我们会遇到将word转换为pdf的需求,当然,不仅仅是word转换为PDF,像图片转换为pdf等等这样的转换工作。
如果涉及到以上这些需求,那么使用LibreOffice不失为一个好的方式,从转换后的准确率、转换速度、转换格式的支持LibreOffice都是比较给力的。下面,让我们具体学习下如何安装和使用libreOffice。建议选择稳定版本,这里我选择了 LibreOffice 7.6.4。
官网地址:https://zh-cn.libreoffice.org/download/libreoffice/ (opens new window)
# 下载和解压
1、检查当前操作系统环境是否已经安装了LibreOffice。
libreoffice --version
如果已经安装,需要把自带的LibreOffice卸载。
yum remove libreoffice-*
2、进入LibreOffice官网下载你对应操作系统的包,访问地址:https://zh-cn.libreoffice.org/download/libreoffice/ (opens new window),Linux 可以使用如下命令:
wget https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.4.1/rpm/x86_64/LibreOffice_7.6.4_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_Linux_x86-64_rpm_langpack_zh-CN.tar.gz --no-check-certificate
3、将上述的包下载下来后上传到服务器上,解压并安装
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
4、安装成功后,会在 /opt/
目录下生成一个libreoffice7.6
的目录
# 配置环境变量
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
转换成功!
# 其他问题
- 报错 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、再试下转换,发现中文转换成功