Преобразовать в pdf ( yii2)
Как сделать, когда пользователь нажмет на кнопку профиля, она отобразится в pdf файле. Я установил расширение mpdf. Ниже приведен код, который я пытаюсь преобразовать на странице personalinfo.php в pdf.
class MpdfController extends Controller
{
public function actionPersonalinfo() {
// Your SQL query here
$content = $this->renderPartial('personalinfo', ['model' => $model]);
// setup kartik\mpdf\Pdf component
$pdf = new Pdf([
// set to use core fonts only
'mode' => Pdf::MODE_CORE,
// A4 paper format
'format' => Pdf::FORMAT_A4,
// portrait orientation
'orientation' => Pdf::ORIENT_PORTRAIT,
// stream to browser inline
'destination' => Pdf::DEST_BROWSER,
// your html content input
'content' => $content,
// format content from your own css file if needed or use the
// enhanced bootstrap css built by Krajee for mPDF formatting
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
// any css to be embedded if required
'cssInline' => '.kv-heading-1{font-size:18px}',
// set mPDF properties on the fly
'options' => ['title' => 'ProfileStudent'],
// call mPDF methods on the fly
'methods' => [
'SetHeader'=>['Profile'],
'SetFooter'=>['{PAGENO}'],
]
]);
/*------------------------------------*/
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
$headers = Yii::$app->response->headers;
$headers->add('Content-Type', 'application/pdf');
/*------------------------------------*/
// return the pdf output as per the destination setting
return $pdf->render();
}
...
}
Спасибо
1 ответ
Кажется, у тебя нет модели. попробуйте передать идентификатор при вызове этого действия и использовать идентификатор для получения информации в $model
public function actionPersonalinfo($id) {
$model = $this->findModel($id);
$content = $this->renderPartial('personalinfo', ['model' => $model]);
// setup kartik\mpdf\Pdf component
$pdf = new Pdf([
// set to use core fonts only
'mode' => Pdf::MODE_CORE,
....