下载生成的PDF有多页内存问题

时间:2014-12-11 15:07:40

标签: php tcpdf

我正在尝试使用tcpdf库在同一PDF中生成批量发票(用于打印)。问题是,如果有太多(超过50页)生成服务器将崩溃与此错误。

致命错误:第16680行/home/user/public_html/lib/tcpdf/tcpdf.php中允许的内存大小为33554432字节(尝试分配72个字节)

所以我可以看到我帐户的最大内存限制为335544320字节。 我尝试使用ini_set('memory_limit', '-1');,但无法传递335544320个字节。在我的localhost工作正常,因为我有所有memory_limit可用。

所以问题是如何解决这个问题才能发挥作用。查看或下载包含所有发票的PDF。我在想是否由于内存问题而无法完成,将每个PDF保存在一个文件夹中,然后压缩并下载该文件夹。

1 个答案:

答案 0 :(得分:0)

TCPDF的构造函数有$diskcache参数:

/**
 * @param $diskcache (boolean) If TRUE reduce the RAM memory usage by caching temporary data on filesystem (slower).
*/
public function __construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false, $pdfa=false)

另一种选择是将单独的页面/发票创建为单独的pdf文件,然后使用您可用的任何解决方案将它们合并。请参阅Merge pdf files with php