如何链接由用户在当前会话期间使用wkhtmltopdf生成的文件

时间:2012-08-23 19:21:50

标签: php wkhtmltopdf

我目前正在使用wkhtmltopdf生成pdf文件,我想链接最近生成的文件供用户下载,但在用户完成会话后删除它们。无论如何都没有在服务器上生成文件的情况下完成此任务吗?

1 个答案:

答案 0 :(得分:1)

<?php
exec("/path/to/binary/wkhtmltopdf   http://www.google.com /location/test.pdf");
$file = "/location/test.pdf";
$pdf = file_get_contents($file);

header('Content-Type: application/pdf');
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Content-Length: '.strlen($pdf));
header('Content-Disposition: inline; filename="'.basename($file).'";');
ob_clean(); 
flush(); 
echo $pdf;

unlink($file);

?>

可能存在文件未被删除的问题,因此,我会添加一个用于删除旧文件的cron作业。