У меня есть важный файл html для преобразования в файл PDF.Преобразование тяжелого HTML-файла в PDF
Я использую mpdf конвертировать мой HTML, как это:
$file_content = file_get_contents($dir . '/' . $filehtml);
$mpdf = new mPDF('', '', 0, 'Helvetica', 15, 15, 50, 25, 8, 8);
$mpdf->useSubstitutions = false;
$mpdf->CSSselectMedia='mpdf';
$mpdf->allow_charset_conversion = true;
$mpdf->charset_in = 'cp1252';
$mpdf->WriteHTML($file_content);
$mpdf->Output($dir . '/' . $filename, 'F');
Он хорошо работает. Обычно.
Проблема заключается в том, что мой файл является довольно тяжелым: ~ 17.5Mb, так file_get_contents
бросает мне ошибку:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 18114800 bytes)
Я попробовал другое решение: Вместо того, чтобы генерировать файл HTML, я попытался поместить $mpdf->WriteHTML($str);
в foreach()
(который используется для генерации моего HTML-файла).
Проблема время выполнения переходит 1час, который определенно не является приемлемым, в то время генерация HTML-файлах берет меня ~ 1.5sec (согласно JS new Date().getTime();
)
Кто-нибудь имеет серверное решение для этой проблемы?