Преобразовать в 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,
  ....
Другие вопросы по тегам