找过很多地方都找不到用php实现“office 转 pdf文件”的,最后只能用Linux命令行来做了。如下:
主要就是centos+libreoffice+unoconv+Xvfb
1.安装libreoffice
yum install libreoffice
2.安装unoconv
yum install http://pkgs.repoforge.org/unoconv/unoconv-0.5-1.el6.rf.noarch.rpm
3.安装Xvfb
yum install xorg-x11-server-Xvfb
4.开启xvfb(放在后台运行)
Xvfb :1 -screen 0 800x600x24 &
export DISPLAY=:localhost.0 #或export DISPLAY=:0.0
xhost +
5.开启soffice服务(放在后台运行)
soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &
6.使用unoconv
unoconv -f pdf ./test.doc
unoconv -f pdf ./test1.xlsx
unoconv -f pdf ./test2.pptx
7.php奇葩的使用方式
$cmd = 'PATH= /usr/bin/unoconv -f pdf ./text.xls';
exec($cmd);