yii2 mpdf渲染html达到最大内存大小
问题描述:
我试图在Yii2框架上使用mdpdf渲染一个非常大的pdf。 我生成一个html页面,但是当我调用render
函数时,php耗尽内存。yii2 mpdf渲染html达到最大内存大小
我不想扩大memory_limit
ini设置(256M
是超过必要的)。 我使用这种配置,$html
包含了我巨大的代码:
$pdf = new Pdf([
'mode' => Pdf::MODE_CORE,
'content' => $html,
'options' => [
'title' => 'Report',
],
'marginHeader' => 2,
]);
return $pdf;
也许有一种方法来呈现步骤步骤的PDF?
答
在Yii2 MPDF内容通常是一个形式布局 一个的RenderPartial和的RenderPartial由是查询例如,结果一个或多个模型填充:
$models = MyModel::find()->all();
$content = $this->renderPartial('_mpdf_report_scheda', [
'model' => $models,
]);
$pdf = new Pdf([
.......
'content' => $content,
可能是你的情况查询的结果,检索到多行,这样就可以spliet你的部分内容
例如:使用限制(和偏移量)
$models = MyModel::find()
->limit(20)
->all();
$models = MyModel::find()
->limit(20)
.>offset(20)
->all();
并启动部件的pdf