2013-04-05 83 views
5

上午尝试使用html2pdf类自动生成pdf。我得到了以下代码工作正常,只有有人必须手动保存pdf。但是,无论何时添加新产品,我都希望自动将pdf保存到某个文件夹而无需用户干预,并将此值存储在数据库中供将来参考。 我如何着手在后台保存pdf“无声”,即不显示任何弹出窗口或要求用户进行干预? 在此先感谢。使用html2pdf在后台保存pdf

include('pdf_content.php'); 
$content = ob_get_clean(); 
// convert to PDF 
require_once('html2pdf/html2pdf.class.php'); 
try 
{ 
    $html2pdf = new HTML2PDF('P', 'A4', 'en'); 
    $html2pdf->pdf->SetDisplayMode('fullpage'); 
    $html2pdf->setDefaultFont('Arial'); 
    $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); 
    //$html2pdf->Output($file_name.'_'.date("dmY").'.pdf'); 
    $html2pdf->Output($product_id.'_'.$file_name.'_'.date("dmY").'.pdf'); 

回答

12

你可以尝试调用这个脚本,每次添加一个新的产品,虽然那么你就没有真正做到这一点,在“背景” ......

欲了解更多信息,请注意这个问题"How can I run a PHP script in the background after a form is submitted?"

编辑:

如果你想在服务器上保存文件,而不是将其输出到浏览器中,你可以使用不同的参数。 See also the html2pdf-wiki.请注意,您无法将该文件保存在用户的计算机上!

$html2pdf->Output('directory/file_xxxx.pdf', 'F'); 
+0

我注意到链接的例子,但有没有可能我运行脚本(不是真的在背景中)没有它显示弹出保存PDF?我希望它可以在没有用户意识到的情况下保存pdf。我没有访问shell脚本,并希望另一个选项(最好通过php代码),如果该选项存在。 RGDS。 – nixxx 2013-04-05 11:21:21

+0

已更新的答案。 – 2013-04-05 14:18:53

+0

谢谢@Marty McVry。 'F'选项是我正在寻找的。 RGDS。 – nixxx 2013-04-10 11:45:24