【问题标题】:how to use mpdf and pjax in Yii2 view?如何在 Yii2 视图中使用 mpdf 和 pjax?
【发布时间】:2018-01-10 13:53:02
【问题描述】:

我正在使用 pjax 表单,我有打印按钮和提交按钮,如下所示。

<?= Html::submitButton('Submit', ['name' => 'form', 'value' => 'submit']) ?>
<?= Html::submitButton('Pdf', ['name' => 'form', 'value' => 'pdf']) ?>

我将在控制器中捕获两个提交,如下所示

 public function actionRetail()
{
 $model = new Retail();
 if (Yii::$app->request->post('form') == 'submit') 
 {
    $model->saveRetail();
    $this->redirect("/Details");
}
if (Yii::$app->request->post('form') == 'pdf') 
{
    $mpdf= new \Mpdf\Mpdf();
    $mpdf->WriteHTML($this->renderPartial('DetailsPdf'));
    $mpdf->Output('details.pdf','D');   
}
  return $this->render('View',['model'=>$model]);
}

在此表单中提交工作正常,但如果每当单击 pdf 按钮而不是下载 pdf 时,它会在同一页面显示编码数据,如下所示。如果我删除 pjax,它工作正常。请帮助任何人如何在 pjax 视图中使用 mpdf。

%PDF-1.4 %���� 3 0 obj /Contents 4 0 R>> endobj 4 0 obj 流 x��[MsR�Y���C

【问题讨论】:

    标签: php yii2 yii2-advanced-app mpdf pjax


    【解决方案1】:

    您需要为 pdf 按钮禁用 pjax。只需添加 'data-pjax' => 0

    <?= Html::submitButton('Pdf', ['name' => 'form', 'value' => 'pdf', 'data-pjax' => 0]) ?>
    

    【讨论】:

      【解决方案2】:
      // Define a new \Mpdf\Mpdf document using utf-8 fonts
      $mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8']);
      

      view this link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-23
        • 2016-05-01
        • 2022-06-21
        • 2017-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多