原理:基于已安装的openOffice和jodconverter-2.2.2,PHP调用外部命令使用jodconverter-2.2.2完成文档转换
openoffice和jodconverter-2.2.2的安装并实现office转换可以参考CentOS 下安装openOffice,并在Linux上实现office转PDF
配置权限
因为Linux权限问题,在使用PHP执行该命令时会出现权限问题,因此需要给java所在目录和文件转换前后所在目录添加777权限
找到java位置,并进入其所在目录:
执行(chmod -R 777 java)赋予java目录读写权限:
同样给转换前后目录赋予读写权限,在这里都是/tmp目录(根据你自己的文件存放目录设置):
实现转换
首先要修改php的配置文件,因为默认情况下php会将shell_exec()这个功能禁用了,所以需要手动打开;忽略这一步会造成php 报错:shell_exec() has been disabled for security reasons
找到php.ini配置文件所在后使用vi或者vim打开,vi/vim中搜索字符串,直接输入:/+需要查找字符串,就可以了(/disable_functions搜索disable_functions),然后将对应方法删除,重启服务即可
在PHP中使用shell_exec()来执行转换命令:
执行,没有输出(原因是shell_exec()函数没有返回值):
在目录中查看,文件已经转换成功:
至此,PHP实现office转pdf便已经实现。