Save and download PDF

user991830 picture user991830 · Oct 12, 2011 · Viewed 29.8k times · Source

I need to do 2 things together & at the same time with DOMPDF.

I need to do the following together - is this possible?

//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()); 

The above works fine if $dompdf->stream and $dompdf->output() are done separately/individually , but when I try to run them together as shown above, it just crashes.

Any help/advice would be really appreciated.

Answer

Manse picture Manse · Oct 12, 2011

Why dont you swap them round create the pdf first as a file and then stream the created file back ?

$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);