我正在使用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% 30 obj&lt;&gt; /内容4 0 R&gt;&gt; endobj 4 0 obj&lt;&gt;流x [Msܸ Y C
答案 0 :(得分:0)
// Define a new \Mpdf\Mpdf document using utf-8 fonts
$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8']);
答案 1 :(得分:0)
您需要为pdf按钮禁用pjax。只需添加'data-pjax'=&gt; 0
<?= Html::submitButton('Pdf', ['name' => 'form', 'value' => 'pdf', 'data-pjax' => 0]) ?>