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
要設定777給java的權限: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的實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!