8

我需要同时使用 DOMPDF 一起做两件事。

我需要一起做以下事情 - 这可能吗?

//print the pdf file to the screen for saving
$dompdf->stream("pdf_filename_".rand(10,1000).".pdf", array("Attachment" => false));
//save the pdf file on the server
file_put_contents('/home/stsnew/public_html/pdf/file.pdf', $dompdf->output()); 

如果$dompdf->stream$dompdf->output()单独/单独完成以上工作正常,但是当我尝试将它们一起运行时,如上所示,它只是崩溃。

任何帮助/建议将不胜感激。

4

2 回答 2

27

为什么不交换它们,首先将pdf创建为文件,然后将创建的文件流回?

$file_to_save = '/home/stsnew/public_html/pdf/file.pdf';
//save the pdf file on the server
file_put_contents($file_to_save, $dompdf->output()); 
//print the pdf file to the screen for saving
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="file.pdf"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file_to_save));
header('Accept-Ranges: bytes');
readfile($file_to_save);
于 2011-10-12T16:34:12.333 回答
7

回答晚了,但可能会有所帮助。

设置附件 true 或 1

$dompdf->stream("pdf_filename_".rand(10,1000).".pdf", array("Attachment" => true));

如果您只是在寻找下载,则不需要 file_put_contents()

于 2020-04-17T13:46:18.047 回答