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