1

我有一个重要的 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.5 秒(根据 js new Date().getTime();


有没有人有这种问题的服务器端解决方案?

4

2 回答 2

2

更改 php.ini

memory_limit = 64M ;//maximum allotted size

如果您没有 php.ini 访问权限,则添加 .htaccess

php_value memory_limit 64M

或在脚本文件中添加以下行

ini_set('memory_limit', '-1');
于 2013-10-11T12:57:23.840 回答
0

尝试将其添加到您的 .htaccess 文件中:php_value memory_limit 128M

于 2013-10-11T12:57:35.447 回答