Linux平台中使用PHP把word转pdf的实现方法
1、ubantu下安装libreoffice
sudo apt-get install libreoffice
2、命令行执行word转pdf
将 /home/wordToPdf/wordFiles/目录下的CAS.docx转成pdf存放到 /home/wordToPdf/pdfFiles 目录下:
libreoffice --headless --convert-to pdf:writer_pdf_Export /home/wordToPdf/wordFiles/CAS.docx --outdir /home/wordToPdf/pdfFiles
/usr/share/fonts 下放中文字体
fc-cache-fv 更新字体缓存
在PHP中执行的代码
$a='./doc/2.doc'; $b='./pdf'; //$str ="libreoffice --headless --convert-to pdf:writer_pdf_Export ./doc/2.doc --outdir ./pdf"; //$str ='ls '.'./'; $str = "export HOME=/tmp && libreoffice --headless -convert-to pdf /var/www/html/doc/2.doc -outdir /var/www/html/pdf"; var_dump(system($str));
在linux中使用PHP将word文档转为pdf
使用本教程需要在linux中安装openoffice,改页面中有详细的安装与使用教程 (
)。
既然,你看了该教程就应该不能否认linux的权限的确很坑人。而用PHP将word文档转pdf文档,更是需要一大堆权限设置。因此,在这里我就给PHP用到有关目录和文件都给予了777权限。
从该文中(linux平台的office文档转pdf的实例(程序员的菜))可以很清楚的知道重点代码:(如下)
java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/1.doc /tmp/1.pdf
从以上代码中可知,PHP要用到java命令的执行权限,需要/tmp的读写权限。
查看java命令的位置:which java
假设java命令的位置为:/bin/java
要给java设置777的权限:chmod 777 /bin/java
给/tmp文件夹及以下的文件设置权限: chmod -R 777 /tmp
设置好权限后。即可使用PHP的exec函数运行该段代码:java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/1.doc /tmp/1.pdf
以上这篇Linux平台中使用PHP把word转pdf的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/php/16622.html