2014年10月13日 星期一

php透過wkhtmltopdf動態產生PDF檔

在Ubuntu中執行wkhtmltopdf確定可以將某個網址轉成PDF後,接下來要在php裡做這件事.
  • php程式
<?php
$pdfFileName="google.pdf";
$htmUrl="http://www.google.com";

echo shell_exec('whoami');
$cmd = sprintf("xvfb-run -a wkhtmltopdf %s %s",$htmUrl,$pdfFileName);
$output = shell_exec($cmd);

echo sprintf("<pre>%s</pre>",$output);
?>
  • 檢視apache的error.log
tail -f /var/log/apache2/error.log

  • 給予php程式寫入檔案權限
若不知道php程式用什麼身份執行,可透過以下方式得知:
<?php 
 echo exec('whoami'); 
?>
如果以上程式執行的結果是www-data,就給予www-data寫入權限
sudo chown -R www-data /var/www/html/pdf_test
sudo chmod -R g+w /var/www/html/pdf_test