OK dajmy na to taki kod wykonujący:
$html = '';
for ($i=0; $i<=5000; $i++)
{
$html .= " ";
}
include("../modules/pdf/mpdf.php");
$mpdf=new mPDF('utf-8','A4','12','10', 5, 5, 5, 5);
$mpdf->AddPage('L');
$mpdf->SetHTMLFooter("<div style='text-align:center; font-size:12px;'>strona {PAGENO}/{nb}</div>", 'O',true);
$mpdf->WriteHTML($html);
$pdf = $mpdf->Output('', 'S');
die('Some data has already been output to browser, can\'t send PDF file'); header('Content-Description: File Transfer'); header('Content-Transfer-Encoding: binary'); header('Cache-Control: public, must-revalidate, max-age=0'); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream', false); header('Content-Type: application/download', false); header('Content-Type: application/pdf', false); if (!isset($_SERVER['HTTP_ACCEPT_ENCODING']) OR
empty($_SERVER['HTTP_ACCEPT_ENCODING'])) { }
header('Content-disposition: attachment; filename="document.pdf"');
Do tego dochodzą jeszcze pliki wchodzace w skład mPDF, ale tam nic nie zmieniałem i wszystkie ustawienia są standardowe.
Kod ambitny nie jest ale jest to przykład... generalnie ta pętla generuje pdfa o 48 stronach, a czas wykonywania to 55sekund ;-(
Z ciekawości zmierzyłem czas zapełniania zmiennej $html przez pętlę ale to trwa 1-2s.
Waga wygenerowanego pdfa to 186KB.