Creación de PDF con kartik\mpdf\Pdf

Creación de PDF con kartik\mpdf\Pdf

Sin duda uno de los más populares, pero a mi parecer con poca documentación, y difíciles de manejar, por tal motivo les dejo éste artículo.



Lo primero que debes saber es que esta es un pluging que utiliza varias librerías PHP.


http://html2fpdf.sourceforge.net/

Notas importantes: 

Esta librería es la encargada de convertir html a un formato PDF, es decir es como un traductor HTML a PDF, es muy importante que revises esta documentación ya que en el sitio oficial de este componente no explica casi nada.

Lo segundo que debes de saber es que si hay un error en cómo generas tu código html lo mas probables es que te salga en blanco, ya que todo el código html que no logra interpretar simplemente no lo muestra. 

Ejemplo básico para generar PDF

Incluir esta librería

use kartik\mpdf\Pdf;

Dentro del código explico algunas funciones.

public function actionIndex() {
 
                    // Puedes vaciar todo el contenido html en una variable
                    $content = "<h1>Aqui todo el contenido html que va dentro del body";

                    // Debes crear un objeto el cual vas a usar para generar el pdf.
                    // El parámetro 'content' puede ser sustituido con una vista, yo te recomiendo usar la función: $this->renderPartial('_ruta_de_tu_vista')
                    $pdf = new Pdf([
                        'mode' => Pdf::MODE_CORE, // leaner size using standard fonts
                        //'content' => $this->renderPartial('privacy'),
                        'options' => [
                            'title' => 'Titulo aqui',
                            'subject' => 'Subtitulo aqui'
                        ],
                        'methods' => [
                            'SetHeader' => ['Generado por www.ejemplo.mx ||Generado el: ' . System::date('Y-m-d H:i:s')],
                            'SetFooter' => ['|Página {PAGENO}|'],
                        ]
                            // portrait orientation
                            //'orientation' => Pdf::ORIENT_LANDSCAPE,        
                            // 'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
                    ]);

                    $file_name = 'Ejemplo_PDF_'  . System::date('dmyHis') . '.pdf';                                                            

                    $pdf->content = $content;
                    $pdf->filename = $file_name;
                    //echo "Descomenta para ver html:" . $content;

                    return $pdf->render();                    
    }



Fuentes: 

Repositorio Git: https://github.com/kartik-v/mpdf

Comentarios

Aprende Yii2


Lo más Visto

Cómo instalar RBAC

Select dependientes en cascada

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Cómo enviar correos con Yii2

hostinger

ventana bienvenida