form1.cn
Make a little progress every day

centos7下安装LibreOffice并通过命令行转为PDF

19th of April 2021 Linux Command 2357

LibreOffice建议下载最新版,因为最新版对windows中office兼容性会更好一下,本人刚开始使用的是 openoffice 转换完成之后 里面的文字没有了颜色,很多中文字在加入中文字体后还是会乱码,多次尝试后最新版LibreOffice还原度还算可以,但也会有一些各别样式有差异


下载安装包

下载地址:http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/

我安装的是当前最新版本:7.1.2

wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/7.1.2/rpm/x86_64/LibreOffice_7.1.2_Linux_x86-64_rpm.tar.gz


如果桌面版有需要汉化的,可以多下载一个  langpack_zh-CN,大概在页面的最下面


安装

先卸载旧的程序

yum remove libreoffice-*


解压后进入 RPMS目录,安装里面的 所有 rpm 文件

tar -xf LibreOffice_7.1.2_Linux_x86-64_rpm.tar.gz
yum install LibreOffice_6.1.2_Linux_x86-64_rpm/RPMS/*.rpm


查看安装路径:

which libreoffice7.1 #看到路径为 /usr/bin/libreoffice7.1
ll /usr/bin/libreoffice7.1 #得到 /opt/libreoffice7.1/program/soffice,说明安装到了 /opt/libreoffice7.1


查看帮助

libreoffice6.4 -help


启动服务

# 启动命令,可以自己设置运行在后台

/usr/bin/libreoffice6.1 --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard


#修改启动脚本
vim /etc/rc.d/rc.local
#末尾添加
/usr/bin/libreoffice6.1 --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard
#脚本授权
chmod +x /etc/rc.d/rc.local


重启检查 LibreOffice 是否启动

ps -ef|grep libreoffice
root      1110  1104  0 16:53 ?        00:00:00 /opt/libreoffice6.1/program/oosplash --headless --accept=socket,host=127.0.0.1,port=8100;urp; --nofirststartwizard
root      1152  1110  0 16:53 ?        00:00:00 /opt/libreoffice6.1/program/soffice.bin --headless --accept=socket,host=127.0.0.1,port=8100;urp; --nofirststartwizard
root      1679  1507  0 17:07 pts/1    00:00:00 grep --color=auto libreoffice

转pdf命令

/usr/bin/libreoffice7.1 --headless --convert-to pdf 1.pptx --outdir ./

soffice --headless --convert-to pdf {文档路径} --outdir {导出目录路径}


通过php进行文档转换:

$cmd = 'export HOME=/tmp/ && /usr/bin/libreoffice --headless --convert-to pdf 1.doc --outdir ./';
if (function_exists('exec')){
@exec($cmd, $output, $retval);
}



有可能发生的问题:

可能会需要一些依赖

执行 libreoffice 可能会提示库文件找不到,如 libcairo.so.2,libcups.so.2,libSM.so.6 等,执行下面几条命令安装需要的库:

yum install cairo -y
yum install cups-libs -y
yum install libSM -y