DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
Guia reportes
1. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Definición
Reportes
Una de las funciones indispensables que debe proporcionar todo sistema de gestión, es la posibilidad de crear reportes.
Cada reporte o informe contiene la información almacenada en el sistema o información que se va generando a medida que
se trabaja con el programa. Un reporte es un informe o una noticia. Este tipo de documento (que puede ser
impreso, digital, audiovisual) pretende transmitir una información. En el ámbito de la informática, los reportes
son informes que organizan y exhiben la información contenida en una base de datos. Su función es aplicar un
formato determinado a los datos para mostrarlos por medio de un diseño atractivo y que sea fácil de interpretar
por los usuarios.
Un sistema que gestiona grandes cantidades de información siempre requerirá mostrar información a través de
un reporte o informe, que cuyos resultados pueden ser mostrados en forma de imágenes, texto y entro otros,
para los distintos usuario.
A continuación listamos las librerías que permiten generar reportes en el formato de archivo PDF.
FPDF (http://www.fpdf.org/ ):
Es una librería escrita en php para crear archivos y visualizar en el navegador en formato PDF, la librería está
escrita utilizando paradigma orientado a objetos, es liberado bajo la licencia GPL, se puede usar con fines
educativos y comercial.
DOMPDF:
Es un convertidor de HTML a PDF. Descargar y lee hojas de estilo externas, etiquetas de estilo en línea, y los
atributos de estilo de cada uno de los elementos HTML. También apoya la mayoría de los atributos de HTML.
HTML2PDF (https://html2pdf.fr/es/download):
La ventaja que tiene frente a otras es que nos permite posicionar elementos y darle estilos al PDF mediante HTML y CSS,
lo cual es mucho más sencillo que utilizar muchísimos métodos para generar un documento con la apariencia que nos
interesa. Esta librería se ha hecho para ayudar en la creación de PDF, no para convertir directamente una página HTML.
Usted no puede utilizar las etiquetas <html>, <head>, <body>.
Práctica a Realizar
Pasos previos a realizar para la creación del reporte:
Crear una bd llamada bdusuarios y crear la tabla usuarios.
CREATE DATABASE bdusuarios
CREATE TABLE `usuario` (
Introducción
Reportes en PHP
Objetivo.
Desarrollar Reportes en PHP
Requerimientos.
Se debe contar con: Un (1) computador teniendo como mínimo el Sistema Operativo Libre ( Canaima/Ubuntu),Apache,
PHP, Editor de Texto.
2. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
`cedula` varchar(12) NOT NULL,
`nombre` varchar(50) NOT NULL,
`usuario` varchar(10) NOT NULL,
`clave` varchar(8) NOT NULL,
`perfil` varchar(10) NOT NULL,
PRIMARY KEY (`cedula`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `usuario` (`cedula`, `nombre`, `usuario`, `clave`, `perfil`)
VALUES
('10956121', 'Lissette Torrealba', 'Leticia', '12345678', 'admin'),
('10956122', 'Gabriel Garcia', 'gabriel', '12345678', 'admin'),
('10956123', 'Genesisi Gabriela Garcia Torrealba ', 'gabriela', '12345678',
'usuario'),
('10956124', 'Jhonny Garcia', 'JJgarcia', '12345678', 'usuario');
Cambiar el nombre de la bd en clase conexión.php
Creación de reportes en PDF, haciendo uso de la librería HTML2PDF. Debo
señalar que cualquier librería es válida, sin embargo se seleccionó esta
debido a la facilidad de uso.
La librería HTML2PDF, la puedes descargar de este link:
https://html2pdf.fr/es/download
Instalarla vía COMPOSER o simplemente copiar la carpeta que les dejo en el
código fuente de ejemplo, la última opción es la más sencilla
3. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Bien ahora enumeraremos los pasos para poder crear un reporte usando
HTML2PDF, se asume que usted ya tiene la librería, bien sea descargada, por
composer o simplemente copiando la carpeta.
Paso 1:
Copiar la carpeta html2pdf, descargada en la carpeta raíz llamada reporte.
Colocar dentro del archivo que usara para generar su pdf (Colóquelo en el
archivo reporteusuarios.php en la carpeta controlador) esta línea de código
require 'html2pdf/Vendor/autoload.php';
Esa línea le indica a php, donde están ubicados los archivos de la librería.
use SpipuHtml2PdfHtml2Pdf;
Esto es requerido por la librería y es similar al using namespace de
lenguaje c.
Código del archivo reporteusaurios.php carpeta controlador.
Como esta llama al modelo donde está la conexión y la clase Usuarios que
hereda de conexión.
Código de la clase Usuarios en el archivo reporteusuarios.php en la carpeta
modelo
4. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Código de la clase BD que hereda de PDO, clase padre de la clase Usuario.
Conexión.php en la carpeta modelo.
Ahora continuamos programando con el controlador.
Donde se crea un objeto de la clase Usuarios
$objusuarios = new Usuarios();
5. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Luego se verifica que si existe el botón entrada de la vista
reporteusuarios.php en la carpeta vista. Si existe instancia el método
Reporte el cual está en el modelo y es la consulta de todos los registros
de la tabla usuarios( ver código de la clase Usuarios) este método retorna
la consulta que es depositada en la variable $consulta y requiere de la
carpeta vista el archivo reportepdf.php.
Luego en una variable $html limpia el buffer con el método ob_get_clean(),
En la variable $html2pdf es un objeto de la clase Html2Pdf(parámetros de
configuración del documento pdf):
$html2pdf = new Html2Pdf('P', 'A4', 'es', 'true', 'UTF-8',
array(15,10,15,10));
P' => P si va a ser en forma vertical o 'L' si es horizontal.
'A4' => es el tamaño del papel 'letter' si es carta, 'legal' si es oficio,
etc.
'es' => lenguaje del archivo.
'UTF-8' => para que reconozca caracteres especiales.
if(isset($_POST['entrada'])){
$consulta = $objusuarios->Reporte(); // método para consulta
require_once 'vista/reportepdf.php'; la consulta la devuelve a
la vista de reportepdf.php, la cual es el html el cual será enviado al
archivo de salida .pdf
$html =ob_get_clean();
$html2pdf = new Html2Pdf('P', 'A4', 'es', 'true', 'UTF-8',
array(15,10,15,10));
$html2pdf->writeHTML($html); // método para crear el contenido
del PDF
$html2pdf->output('Reporte de usuarios.pdf'); // archivo de
salida en pdf, es el nombre que tendrá el PDF si es descargado.
}else{
$consulta = $objusuarios->Reporte();
require_once 'vista/reporteusuarios.php';
}
6. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Vista de reporteusuario.php en la carpeta vista
Archivo reportepdf.php que contiene el css y todo lo que se va a escribir
en el archivo pdf de salida
7. Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
index.php
Corrida de la práctica
Al darle clic al botón pdf se genera el archivo.pdf
Salida del archivo .pdf
Link para descargar el código de la práctica
https://drive.google.com/file/d/173r4QFaqnaqk1KCD3sVg0YkqotqkpMvT/view?usp=
sharing
Actividad a Realizar
Realizar los Reportes de tu Sistema propuesto en PSTII