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));



=======================

先安装libreoffice,然后使用命令

soffice --headless --invisible --convert-to pdf /tmp/abc.docx --outdir /tmp/

转换成PDF,几乎所有人都遇到


root@panda-dev:~/bin $ soffice --headless --convert-to txt:text blah.doc
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display:
   Set DISPLAY environment variable, use -display option
   or check permissions of your X-Server
   (See "man X" resp. "man xhost" for details)

类似的问题,网上的帮助都是说要求启用:


/usr/bin/soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &


然后 export DISPLAY=:0.0,就可以解决问题,但试了N次也完全不行。


其实只需要 yum install libreoffice-headless,即可。




猜你喜欢

转载自blog.csdn.net/txj236/article/details/81040546