Edición de «Exportar a PDF con cabecera y pie de pagina»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 1: Línea 1:
Esta es una contribución inspirada en el excelente tutorial de Henrystivens, que puedes encontrar aquí: [https://www.kumbiaphp.com/blog/2018/08/06/crear-pdf-usando-html/ Crear PDF usando HTML].
+
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.<br>
Quiero complementar  agregando un encabezado y un pie de página que se repetirá cada vez. 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.<br>
== Instalar mPDF ==
 
 
 
Lo primero que haremos es instalar la librería MPDF a través de composer.<br>
 
  
 
<source lang="php">
 
<source lang="php">
Línea 19: Línea 16:
  
 
     public function export() {
 
     public function export() {
        //No mostramos template, como tampoco vista.
+
//No mostramos template, como tampoco vista.
 
         View::select(null, null);
 
         View::select(null, null);
        //llamamos al metodo estatico export de nuestro modelo Pdfreports pasando un titulo y un mensaje
+
//llamamos al metodo estatico export de nuestro modelo Pdfreports pasando un titulo y un mensaje
         PdfReports::export('Hola Kumbieros!');
+
         Pdfreports::export('Hola Kumbieros!');
 
     }
 
     }
  
Línea 28: Línea 25:
 
</source>
 
</source>
  
== Las Vistas ==
+
== La Vista ==
  
Ahora crearemos nuestras vistas parciales(partials), que tendrán la estructura de nuestro PDF, creamos el archivo en '''default/app/views/_shared/partials/reports/test/pdf.phtml'''
+
Ahora crearemos nuestra vista, que tendrá la estructura de nuestro PDF, creamos el archivo en '''default/app/views/_shared/partials/reports/test/pdf.phtml'''
 
<source lang="html5">
 
<source lang="html5">
 
<html lang="es">
 
<html lang="es">
Línea 51: Línea 48:
 
     </body>
 
     </body>
 
</html>
 
</html>
</source>
 
 
Del mismo modo creamos el partial para el encabezado y pie de pagina
 
'''default/app/views/_shared/partials/reports/test/header.phtml'''
 
<source lang="html5">
 
<table width="100%">
 
        <tr>
 
            <td width="50%" align="left"><img src="http://wiki.kumbiaphp.com/images/wikibanner.png"></td>
 
            <td width="50%" align="right">Tutorial Encabezados y pie de Pagína</td>
 
        </tr>
 
</table>
 
</source>
 
 
'''default/app/views/_shared/partials/reports/test/footer.phtml'''
 
<source lang="html5">
 
    <div>KumbiaPHP es un framework para aplicaciones web libre escrito en PHP.</div>
 
 
</source>
 
</source>
  
 
== Modelo ==
 
== Modelo ==
  
Ahora crearemos nuestro modelo pdf_reports.php en '''default/app/models.'''<br>
+
Ahora crearemos nuestro modelo pdfreports.php en '''default/app/models.'''<br>
  
 
<source lang="php">
 
<source lang="php">
 +
  
 
use Mpdf\Mpdf;
 
use Mpdf\Mpdf;
  
class PdfReports {
+
class Pdfreports {
  
     public static function getHeaderHtml() {
+
     private static $header_html = '
         //contenido del header alojada en el partials
+
         <table width="100%">
         ob_start();
+
         <tr>
        View::partial('reports/test/header');
+
            <td width="50%" align="left"><img src="http://wiki.kumbiaphp.com/images/wikibanner.png"></td>
        // Obtiene el html del búfer actual y elimina el búfer de salida actual
+
            <td width="50%" align="right">Tutorial Encabezados y pie de Pagína</td>
        return ob_get_clean();
+
         </tr>
    }
+
</table><hr>
 
+
    ';
    public static function getFooterHtml() {
+
     private static $footer_html = "KumbiaPHP es un framework para aplicaciones web libre escrito en PHP.";
        //contenido del footer alojada en el partials
 
        ob_start();
 
         View::partial('reports/test/footer');
 
        // Obtiene el html del búfer actual y elimina el búfer de salida actual
 
        return ob_get_clean();
 
     }
 
  
 
     public static function export($titulo) {
 
     public static function export($titulo) {
Línea 103: Línea 79:
 
         $mpdf->setAutoTopMargin = 'stretch';
 
         $mpdf->setAutoTopMargin = 'stretch';
 
         //establezco el HTML al header
 
         //establezco el HTML al header
         $mpdf->SetHTMLHeader(self::getHeaderHtml());
+
         $mpdf->SetHTMLHeader(self::$header_html);
  
 
         //contenido de la vista alojada en el partials
 
         //contenido de la vista alojada en el partials
Línea 113: Línea 89:
 
         //agrego el footer de pagina y esta
 
         //agrego el footer de pagina y esta
 
         $mpdf->setAutoBottomMargin = 'stretch';
 
         $mpdf->setAutoBottomMargin = 'stretch';
         $mpdf->SetHTMLFooter(self::getFooterHtml());
+
         $mpdf->SetHTMLFooter(self::$footer_html);
  
 
         // Agrego el contenido del Partials al HTML
 
         // Agrego el contenido del Partials al HTML
Línea 129: Línea 105:
 
Ahora abrimos nuestro navegador  ingresando a nuestra url '''http://localhost/tuweb/test/export'''
 
Ahora abrimos nuestro navegador  ingresando a nuestra url '''http://localhost/tuweb/test/export'''
 
Y se descargara nuestro PDF, el cual repite su encabezado y pie de página por cada hoja.
 
Y se descargara nuestro PDF, el cual repite su encabezado y pie de página por cada hoja.
 
 
[[Archivo:Exportar-pdf1.jpg]]
 
[[Archivo:Exportar-pdf1.jpg]]
 
+
<br>
 
[[Archivo:Exportar-pdf2.jpg]]
 
[[Archivo:Exportar-pdf2.jpg]]
 
El segundo artículo sobre mPDF en el blog [https://kumbiaphp.com/blog/2019/04/29/exportar-tabla-html-a-pdf/ Exportar tabla HTML a PDF] ya usa estos templates.
 
  
 
--[[Usuario:Ekogro|Ekogro]]  19:24 14 ago 2018 (UTC)
 
--[[Usuario:Ekogro|Ekogro]]  19:24 14 ago 2018 (UTC)
 
[[Categoría:Tutoriales KumbiaPHP]]
 
[[Categoría:Tutoriales KumbiaPHP]]

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)