Actividad 4
1. Los informes sirven para presentar los datos de una tabla o consulta generalmente para imprimirlos. La diferencia básica con los formularios es que los datos que aparecen en el informe sólo se pueden visualizar o imprimir (no se pueden modificar) y en los informes se puede agrupar más fácilmente la información y sacar totales por grupos.
2. - FPDF 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.
La biblioteca tiene funciones como:
Elección de la unidad de medida, formato de página y márgenes
Gestión de cabeceras y pies de página
Salto de página automático
Salto de línea y justificación del texto automáticos
Admisión de imágenes (JPEG, PNG y GIF)
Colores
Enlaces
Admisión de fuentes TrueType, Type1 y codificación
Compresión de página.
La biblioteca tiene una amplia documentación para usar en nuestros proyectos.
- MPDF es una biblioteca para generar reportes en el formato de archivo PDF, esta liberado bajo la licencia GPL, esta biblioteca está basada en FPDF, HTML2PDF y UPDF por cual algunas características y funciones se ha mejorado considerablemente.
He aquí las características de esta librería.
Acepta codificación UTF-8 HTML
Es compatible con casi todos los idiomas, incluyendo RTL (árabe y hebreo), y CJK – (chino-japonés-coreano)
marcadores
hojas de estilo CSS
El espacio entre palabras y espaciado entre caracteres para la justificación
elementos en bloque anidado (por ejemplo, P, DIV), incluidos los márgenes, bordes y relleno, línea de altura, colores de fondo, etc.
De apoyo (parcial) para flotar y de posición fija de bloque-elementos
- TCPDF, otro magnifico librería para generar informes en PHP, en el formato de archivo PDF, esta librería es de código abierto liberado bajo la licencia GNU-LGPL.
Entre los principales características esta:
no se necesitan bibliotecas externas para las funciones básicas;
todos los formatos de página estándar, formatos de página personalizados, márgenes y unidades de medida;
UTF-8 Unicode y de derecha a izquierda idiomas;
TrueTypeUnicode, v1 OpenTypeUnicode, TrueType, OpenType v1, Tipo 1 y CID-0 fuentes;
subconjunto de fuentes;
métodos para publicar algo de código XHTML + CSS, Javascript y las formas;
imágenes, gráficos (figuras geométricas) y la transformación de los métodos.
4. Primeros Pasos
En la distribución de esta clase vienen incluido dos archivos: class.ezpdf.php y class.pdf.php los cuales contienen todas las propiedades y métodos necesarios para crear documentos PDF, además de ello hay una carpeta llamada fonts en el cual vienen algunas fuentes que podemos utilizar en la generación de pdfs.
Luego para crear un archivo pdf el primer paso es incluir las clases con la siguiente linea.
[php]include (‘class.ezpdf.php’);[/php]
El siguiente paso es crear una instancia de la clase Cezpdf con la cual manejaremos la creación de pdf. Entonces creamos un archivo llamado pdf01.php donde crearemos nuestro primer documento pdf.
[php]
selectFont(‘fonts/Helvetica.afm’);
$pdf->ezText(‘Mi primer pdf en PHP’, 30);
$pdf->ezStream();
?>
[/php]
Hemos empleado los métodos: selectFont para seleccionar la fuente con la que escribiremos los textos, ezText que permite agregar un texto con su respectivo tamaño de fuente y finalmente generamos el archivo con la función ezStream.
Opciones Avanzadas
Una de la opciones que tiene es la de incluir los datos del creador o autor en el archivo, esto lo podemos hacer pasando un array con los datos del creador a la función addInfo para ello creamos el archivo pdf02.php.
[php]
include(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4’);
$pdf->selectFont(‘fonts/courier.afm’);
$datacreator = array (
‘Title’=>’Ejemplo PDF’,
‘Author’=>’unijimpe’,
‘Subject’=>’Ejemplo de PDF’,
‘Creator’=>’unijimpe@hotmail.com’,
‘Producer’=>’https://blog.unijimpe.net’
);
$pdf->addInfo($datacreator);
$pdf->ezText(“Ejemplo de PDF en PHP\n”,20);
$pdf->ezText(“Esta es una prueba de pdf\n”,12);
$pdf->ezText(“\n\n\n”,10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”),10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”,10);
$pdf->ezStream();
[/php]
Finalmente veamos la creación de una tabla, para ello emplearemos el método ezTable el cual tiene dos parámetros, un array con con los datos a mostrar y un array con los títulos de la tabla, esto lo hacemos en el archivo pdf03.php.
[php]
selectFont(‘fonts/courier.afm’);
$datacreator = array (
‘Title’=>’Ejemplo PDF’,
‘Author’=>’unijimpe’,
‘Subject’=>’PDF con Tablas’,
‘Creator’=>’unijimpe@hotmail.com’,
‘Producer’=>’https://blog.unijimpe.net’
);
$pdf->addInfo($datacreator);
$data[] = array(‘num’=>1, ‘mes’=>’Enero’);
$data[] = array(‘num’=>2, ‘mes’=>’Febrero’);
$data[] = array(‘num’=>3, ‘mes’=>’Marzo’);
$data[] = array(‘num’=>4, ‘mes’=>’Abril’);
$data[] = array(‘num’=>5, ‘mes’=>’Mayo’);
$data[] = array(‘num’=>6, ‘mes’=>’Junio’);
$data[] = array(‘num’=>7, ‘mes’=>’Julio’);
$data[] = array(‘num’=>8, ‘mes’=>’Agosto’);
$data[] = array(‘num’=>9, ‘mes’=>’Septiembre’);
$data[] = array(‘num’=>10, ‘mes’=>’Octubre’);
$data[] = array(‘num’=>11, ‘mes’=>’Noviembre’);
$data[] = array(‘num’=>12, ‘mes’=>’Diciembre’);
$titles = array(‘num’=>’Numero‘, ‘mes’=>’Mes‘);
$pdf->ezText(“Meses en PHP\n”,16);
$pdf->ezText(“Listado de Meses\n”,12);
$pdf->ezTable($data,$titles,”,$options );
$pdf->ezText(“\n\n\n”,10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”),10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”,10);
$pdf->ezStream();
?>
[/php]
5.
Primero tenemos que cargar nuestras clases que contienen las consultas a MySQL
Luego hacemos una instancia a AlumnoModel ya que nos interesa su método Listar Hacemos una jugada con la queryString para saber que tipo de archivo vamos a exportar.
Estos valores son word o excel.
Con estos valores capturados ahora hacemos otra jugada para saber que tipo de extensión es, xls o doc.
Luego le decimos a la página que sus cabeceras sean del archivo elegido y que proceda con la descarga
https://youtu.be/mkzr36RtUV8
5. Primero tenemos que cargar nuestras clases que contienen las consultas a MySQL
Luego hacemos una instancia a AlumnoModel ya que nos interesa su método Listar Hacemos una jugada con la queryString para saber que tipo de archivo vamos a exportar.
Estos valores son word o excel.
Con estos valores capturados ahora hacemos otra jugada para saber que tipo de extensión es, xls o doc.
Luego le decimos a la página que sus cabeceras sean del archivo elegido y que proceda con la descarga