Reputation: 489
I have to generate PDF document from big HTML code (created 1000 or more pages). But standard method limited me - memory. Standard method:
$html = generatePDF($data_to_pdf);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'landscape');
$dompdf->render();
$pdf = $dompdf->output();
file_put_contents('pdf/' . $tmp_name . '.pdf', $pdf);
The memory is too small so I need to save the data in part. How to generate PDF page by page? Or something like that? How to fix memory problem?
Upvotes: 1
Views: 2737
Reputation: 602
This should work for you in this case.
ini_set("memory_limit", 64MB);
$html = generatePDF($data_to_pdf);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'landscape');
$dompdf->render();
$pdf = $dompdf->output();
file_put_contents('pdf/' . $tmp_name . '.pdf', $pdf);
Upvotes: 1
Reputation: 2229
Try taking a look at this: https://pdfmerger.codeplex.com/
Then, divide the html, render each part into a separate file, and then merge them afterwards..
Upvotes: 1