Diferencia entre revisiones de «Exportar a PDF con cabecera y pie de pagina»

De KumbiaPHP Framework Wiki
Saltar a: navegación, buscar
Línea 1: Línea 1:
Esta es una contribución inspirada en el excelente tutorial de Henrystivens, que puedes encontrar [https://www.kumbiaphp.com/blog/2018/08/06/crear-pdf-usando-html/#more-1915 Aquí].
+
Esta es una contribución inspirada en el excelente tutorial de Henrystivens, que puedes encontrar [https://www.kumbiaphp.com/blog/2018/08/06/crear-pdf-usando-html/#more-1915 Aquí].<br>
 
Quiero complementar  agregando un encabezado y un pie de página que se repetirá cada vez que se generen más de una página en el documento.
 
Quiero complementar  agregando un encabezado y un pie de página que se repetirá cada vez que se generen más de una página en el documento.
Sin más preámbulo comencemos.
+
Sin más preámbulo comencemos.<br>
Lo primero que haremos es cargar la librería MPDF a través de composer.
+
Lo primero que haremos es cargar la librería MPDF a través de composer.<br>
  
 
<source lang="php">
 
<source lang="php">

Revisión de 13:17 14 ago 2018

Esta es una contribución inspirada en el excelente tutorial de Henrystivens, que puedes encontrar Aquí.
Quiero complementar agregando un encabezado y un pie de página que se repetirá cada vez que se generen más de una página en el documento. Sin más preámbulo comencemos.
Lo primero que haremos es cargar la librería MPDF a través de composer.

$ composer require mpdf/mpdf

Ahora crearemos nuestro modelo en default/app/models con el nombre que creamos conveniente. Yo lo nombrare reports Hacemos referencia a nuestro autoload.php de la siguiente forma en nuestro modelo

require_once ROOT_PATH . 'vendor/autoload.php';
 
use Mpdf\Mpdf;
 
class Reports {
 
    private static $header_html="";
    private static $footer_html="";
 
    public static function budgets($budgets, $type) {
 
        // Se crea la instancia de la Clase y directorio temporal
        $mpdf = new Mpdf(['tempDir' => APP_PATH . '/temp']);
 
        //Agrego el header a los documentos
        $mpdf->setAutoTopMargin = 'stretch';
        $mpdf->SetHTMLHeader(self::$header_html);
 
        //contenido de la vista alojada en el partials
        ob_start();
        View::partial('reports/pdf');
        // Obtiene en $html el contenido del búfer actual y elimina el búfer de salida actual
        $html = ob_get_clean();
 
        //agrego el footer de pagina
        $mpdf->setAutoBottomMargin = 'stretch';
        $mpdf->SetHTMLFooter(self::$footer_html);
        // Escribe algo de contenido HTML:
        $mpdf->WriteHTML($html);
 
 
        // Envia un archivo PDF directamente al navegador
        $mpdf->Output('mipdf.pdf', \Mpdf\Output\Destination::DOWNLOAD);
    }
 
}