Error al Exportar a PDF extensión Kartik/mpdf

Buenos días … llevo poco tiempo trabajando con framework yii

Estoy intentando exportar una pagina php utilizando la extensión kartik/mpdf me da el siguiente error. Les asgradecería mucho si me pueden ayudar a corregirlo…

PHP Fatal Error ‘yii\base\ErrorException’ with message ‘Class ‘mPDF’ not found’ in D:\Ismary\xampp\htdocs\paisajes\vendor\kartik\mpdf\Pdf.php:201 Stack trace: #0 [internal function]: yii\base\ErrorHandler->handleFatalError() #1 {main}

el codigo que utilizo es el siguiente:

en la Vista un botón

<?php echo Html::a(’<i class=“fa glyphicon glyphicon-hand-up”>Exportar Componentes</i> ',

    ['/componentes/exportar-pdf', 'observacion' =&gt; &#036;observacion-&gt;id_observacion],


    [


        'class' =&gt; 'btn btn-danger',


        'target' =&gt; '_blank',


        'data-toggle' =&gt; 'tooltip',


        'title' =&gt; 'Generar archivo PDF con las características del Paisaje'


    ]);?&gt;

En el controlador una función

public function actionExportarPdf(&#036;observacion)


{


    Yii::&#036;app-&gt;response-&gt;format = &#092;yii&#092;web&#092;Response::FORMAT_RAW;





    Yii::&#036;app-&gt;errorHandler;





    &#036;obs = new Observaciones();


    &#036;model = &#036;obs-&gt;findOne(&#036;observacion);


    &#036;lugar = Lugar::findOne(&#036;model-&gt;id_lugar);





     &#036;content = &#036;this-&gt;renderPartial('componentes', ['tablaLugar' =&gt; &#036;lugar, 'observacion' =&gt; &#036;model]);





    &#036;pdf = new Pdf([


        // set to use core fonts only


        'mode' =&gt; Pdf::MODE_CORE,


        // A4 paper format


        'format' =&gt; Pdf::FORMAT_A4,


        // portrait orientation


        'orientation' =&gt; Pdf::ORIENT_PORTRAIT,


        // stream to browser inline


        'destination' =&gt; Pdf::DEST_BROWSER,


        // your html content input


        'content' =&gt; &#036;content,


        // format content from your own css file if needed or use the


        // enhanced bootstrap css built by Krajee for mPDF formatting


        'cssFile' =&gt; '/css/site.css',


        // any css to be embedded if required


        'cssInline' =&gt; '.kv-heading-1{font-size:18px}',


        // set mPDF properties on the fly


        'options' =&gt; [


            'title' =&gt; 'Reporte en PDF',


            'subject' =&gt; 'Generar un archivo PDF'


        ],


        // call mPDF methods on the fly


        'methods' =&gt; [


            'SetHeader' =&gt; ['Generar Reporte en PDF' . date(&quot;r&quot;)],


            'SetFooter' =&gt; ['|Page {PAGENO}|'],


        ]


    ]);


    return &#036;pdf-&gt;render();


}

Comprueba que tienes instalado en vendor las carpetas:

  • kartik-v/yii2-mpdf

  • mpdf/mpdf

Debería instalarse todo junto pero como pone que no encuentra la clase mpdf ¿?

En el archivo de configuración config/web instalo como extensiones

 'extensions' =&gt; array_merge(require(__DIR__ . '/&#46;&#46;/vendor/yiisoft/extensions.php'),


 [


       //extencion mpdf


        'kartik&#092;mpdf' =&gt; [


            'name' =&gt; 'kartik/mpdf',


            'version' =&gt; '@dev',


            'alias' =&gt; [


                '@kartik/mpdf' =&gt; __DIR__ . '/&#46;&#46;/vendor/kartik/mpdf',


            ],


        ],





        'mpdf/mpdf' =&gt; [


            'name' =&gt; 'mpdf/mpdf',


            'version' =&gt; '6.0',


            'alias' =&gt; [


                '@mpdf/mpdf' =&gt; __DIR__ . '/&#46;&#46;/vendor/mpdf/mpdf',


            ],


        ],


        //fin extensiones mpdf

y en el "require" del composer añadí lo siguiente

z

    &quot;kartik/mpdf&quot;: &quot;@dev&quot;,


    &quot;mpdf/mpdf&quot;: &quot;6.0&quot;,

porque

 kartik-v/yii2-mpdf no lo tengo...

es necesario instalar además kartik-v?

No necesitas instalar nada, la biblioteca de pdf es mpdf y luego se puede instalar un wrapper que incorpora mejoras y funciones adicionales.

Ese envoltorio es la extension que cargas en composer

  • "kartik/mpdf": "@dev",

pero tambien podrias utilizar otro que es el que yo vi:

  • "kartik-v/yii2-mpdf": "*" -> por ejemplo en enlace.

No deberias necesitar cargar las extensiones en config/web ya que yii tiene un autoloader para las clases instaladas a través de composer , Comenta todo ese bloque no vaya a ser que estes sobreescribiendo algo por defecto y mira si te da el error.

saludos