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.
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.
$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();
}
'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
Publicar un comentario