Ciao Peppe mPDF come dici tu è autonomo e puoi trovare una guida qui https://mpdf.github.io/ su come utilizzarlo. Puoi creare il pdf all’ interno dell’ action del Controller usando l’ html;
$html = ' QUI INCLUDI TUTTO CIò CHE VUOI GENERARE , TABELLE ETC.'
In caso tu debba eseguire queries e poi inserire i dati recuperati dalle stesse all’ interno del pdf, ricordati che le query vanno eseguite fuori da $html.
Esempio;
Eseguo la queries immaginaria:
$recupero_utenti = User::model()->findAllByAttributes(array('id'=>2));
foreach($recupero_utenti as $dati);
$html='
<html>
<head>
<link rel="stylesheet" type="text/css" href="'.Yii::app()->theme->baseUrl.'/css/main.css">
</head>
<body>
<table style="width:100%">
<tr>
<td>
echo Questo utente si chiama'.$dati->nome.' e si è iscritto in data etc etc etc etc ';
</td>
</tr>
</tbody>
</table>
</body>
</html>
';
$mPDF1 = Yii::app()->ePdf->mpdf('utf-8', 'A4', 0, '', 4, 4, 4, 0, 0, 0);
$mPDF1->WriteHTML($html);
$mPDF1->Output('L OUTPUT CHE PREFERISCI, O VISUALIZZI O SALVI O FAI CIO CHE VUOI');
oppure creare una vista (COME SE CREASSI UNA VISTA NORMALE PER UN RENDER) e renderizarla attraverso:
$this->layout="//se vuoi crei anche un layout personalizzato per la vista";
$mPDF1 = Yii::app()->ePdf->mpdf('utf-8', 'A4', 0, '', 4, 4, 4, 0, 0, 0);---->questi puoi gestirli come credi (trovi tutto sulla guida mpdf)
$mPDF1->WriteHTML($this->render('nom-vista-da-renderizare',array('model'=>$model e altri attributi che invii dal Controller alla vista),true));
$mPDF1->Output('NOME DEL TUO FILE'.pdf', EYiiPdf::OUTPUT_TO_DOWNLOAD); <<<<---- IN QUESTO CASO ESEGUE IL DOWNLOAD DEL FILE AL POSTO DI APRIRLO DIRETTAMENTE.
Spero queste informazioni possano aiutarti. Io uso mPDF e mi trovo molto bene.
Un Saluto