转换为pdf(yii2)

时间:2016-11-10 14:32:18

标签: yii yii2 yii2-advanced-app yii2-user

当用户点击个人资料按钮时,如何制作,它将以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 个答案:

答案 0 :(得分:0)

似乎你没有模特。尝试在调用此操作时传递id,并在$ model中使用id检索信息

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,
  ....