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 | + | 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> | |
− | |||
− | |||
− | Lo primero que haremos es | ||
<source lang="php"> | <source lang="php"> | ||
Línea 19: | Línea 16: | ||
public function export() { | public function export() { | ||
− | + | //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 | |
− | + | Pdfreports::export('Hola Kumbieros!'); | |
} | } | ||
Línea 28: | Línea 25: | ||
</source> | </source> | ||
− | == | + | == La Vista == |
− | Ahora crearemos | + | 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> | </source> | ||
== Modelo == | == Modelo == | ||
− | Ahora crearemos nuestro modelo | + | Ahora crearemos nuestro modelo pdfreports.php en '''default/app/models.'''<br> |
+ | Hacemos referencia a nuestro autoload.php de la siguiente forma en nuestro modelo | ||
<source lang="php"> | <source lang="php"> | ||
+ | |||
+ | require_once ROOT_PATH . 'vendor/autoload.php'; | ||
use Mpdf\Mpdf; | use Mpdf\Mpdf; | ||
− | class | + | class Pdfreports { |
− | + | private static $header_html = ' | |
− | + | <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><hr> | |
− | + | '; | |
− | + | private static $footer_html = "KumbiaPHP es un framework para aplicaciones web libre escrito en PHP."; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
public static function export($titulo) { | public static function export($titulo) { | ||
Línea 103: | Línea 81: | ||
$mpdf->setAutoTopMargin = 'stretch'; | $mpdf->setAutoTopMargin = 'stretch'; | ||
//establezco el HTML al header | //establezco el HTML al header | ||
− | $mpdf->SetHTMLHeader(self:: | + | $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 91: | ||
//agrego el footer de pagina y esta | //agrego el footer de pagina y esta | ||
$mpdf->setAutoBottomMargin = 'stretch'; | $mpdf->setAutoBottomMargin = 'stretch'; | ||
− | $mpdf->SetHTMLFooter(self:: | + | $mpdf->SetHTMLFooter(self::$footer_html); |
// Agrego el contenido del Partials al HTML | // Agrego el contenido del Partials al HTML | ||
Línea 124: | Línea 102: | ||
} | } | ||
</source> | </source> | ||
+ | |||
== Resultado == | == Resultado == | ||
Línea 129: | Línea 108: | ||
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]] | ||
− | |||
− | |||
--[[Usuario:Ekogro|Ekogro]] 19:24 14 ago 2018 (UTC) | --[[Usuario:Ekogro|Ekogro]] 19:24 14 ago 2018 (UTC) | ||
− |