在PHP中将html转换为pdf?

use*_*147 6 html php pdf pdf-generation html2pdf

我知道有很多关于这个问题的帖子.但是有人可以帮我设置这个http://www.rustyparts.com/pdf.php脚本来处理我的本地主机.我只花了一周时间来解决这个问题.我有下载imagemagic,ghostscript,activeperl,...,一切,但仍然无法做出简单的例子.

mar*_*cog 10

通过系统调用使用wkhtmltopdf.请参阅如何在基于Linux(共享主机)的Web服务器上安装wkhtmltopdf以获取安装帮助.

wkhtmltopdf是一个命令行程序,允许从url,本地html文件或stdin创建pdf.它使用WebKit引擎生成类似于rendred的pdf.

请在此处查看此页面中的示例.

在Ubuntu上测试的php代码(你需要/tmp/在Windows上更改为临时目录):

$url = 'http://www.google.com';
$pdffile = tempnam('/tmp/', 'wkhtmltopdf_');
$handle = popen("wkhtmltopdf $url $pdffile 2>&1", "r");
while (!feof($handle)) 
  fread($handle, 4096);
pclose($handle);
header('Content-type: application/pdf');
$file = fopen($pdffile, "r");
while(!feof($file))
  print fread($file, 4096);
unlink($pdffile);
Run Code Online (Sandbox Code Playgroud)

还有php绑定,它不需要自己使用系统调用,这是一个更简单(更安全!)的选项.

try {
    $wkhtmltopdf = new Core_Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/'));
    $wkhtmltopdf->setTitle("Title");
    $wkhtmltopdf->setHtml("Content");
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "file.pdf");
} catch (Exception $e) {
    echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)