2017-06-16 6 views
0

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で

答えて

0

は、コンテンツがフォームのレイアウト ため、通常れるrenderPartialあるとれるrenderPartialは、クエリなどの結果である1つ以上のモデルが移入されたMPDF:

$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を起動

関連する問題