没有在 php 中使用 mpdf 生成 PDF

Posted

技术标签:

【中文标题】没有在 php 中使用 mpdf 生成 PDF【英文标题】:PDF not getting generated using mpdf in php 【发布时间】:2014-04-30 13:37:04 【问题描述】:

我正在使用 mpdf 库从 php 中的 html(table) 内容生成 pdf。我正在使用以下代码

<?php 
    session_start();
    $html=$_POST['html'];
    include 'mpdf.php';
    $mpdf=new mPDF(); 
    $mpdf->WriteHTML($html);
    $mpdf->Output();
    exit;
    ?>

当 html 表格的大小较小时,例如大约 100 行,则可以正确生成 PDF。但是当表格的大小更大时,比如大约 1000-2000 行,则不会生成 pdf。

mpdf 有大小限制吗?可以做些什么来解决这个问题?或者还有其他更好的库可以在 php 中生成 pdf

我已尝试使用此代码 ini_set('memory_limit', '256M');php.ini 中增加分配给 256,512 和 1024 mb 的内存 我也尝试增加时间限制,它现在正在生成 PDF,但需要更多时间来生成并且 PC 变慢。如何释放内存?

【问题讨论】:

你试过设置时间限制吗? 其实没有出现超时错误。还需要设置时间限制吗? 尝试增加一个更高的时间限制,看看会发生什么。 它适用于增加时间限制。生成 PDF 需要花费大量时间并使整个系统变慢。生成pdf后有什么方法可以释放内存 【参考方案1】:

试试

ini_set('max_execution_time', 0);
ini_set("memory_limit", "2G");

$mpdf->packTableData = true;

像往常一样,要警惕不良嵌套、未封闭的标签、不正确的转义或错误的 colspan 设置。 用http://validator.w3.org/检查生成的HTML代码

【讨论】:

生成 PDF 需要花费大量时间并使整个系统变慢。生成pdf后有什么方法可以释放内存

以上是关于没有在 php 中使用 mpdf 生成 PDF的主要内容,如果未能解决你的问题,请参考以下文章

在使用 mpdf 库生成的 pdf 中添加分页符

Yii, Php, mPDF, 生成带有不同方向小部件的 pdf

PHP使用mpdf 生成pdf文件

PHP使用mpdf 生成pdf文件

php - 使用 mpdf 工具从 googlemap 内容创建 pdf

PHP - 如何使用 mPDF 合并 PDF