Linux平台中使用PHP把word转pdf的实现方法

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平台的office文档转pdf的实例(程序员的菜))。

既然,你看了该教程就应该不能否认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的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Linux平台中使用PHP把word转pdf的实现方法)