ACTIVIDAD 2 -INFORMES

INFORMES

Objetivo

Documentar las diferentes formas y librerias que permite manejar PHP para generar informes y exportarlos a PDF, Excel y Word.

  Informes

1. Que es un informe.

  • Los informes nos sirven para realizar listados por impresoras de los datos de una tabla. Estos listados se pueden personalizar o bien utilizar un asistente (parecido al de los formularios)

    De hecho, la función de los informes y los formularios es muy parecida: mejorar el aspecto de la tabla con colores, fondos, etc. La única diferencia, prácticamente, es que los formularios se utilizan para trabajar con la tabla en pantalla y los informes para realizar listados en la impresora. * Un informe es un método eficaz de presentar los datos en formato impreso. Dado que tiene el control sobre el tamaño y el aspecto de todo el informe, puede mostrar la información en la manera que desee verla.

    Fuente: https://www.monografias.com/docs/Que-Son-Los-Informes-Informatica-P394LZVPC8G2Z

    Un informe consiste en información, impresa o visualizada en pantalla, organizada según el criterio que hayamos introducido. Se puede usar un informe para agrupar registros en un diseño personalizado. La variedad de formas en que puede presentarse la información es casi infinita; citaremos como ejemplo: Listas de precios, etiquetas, facturas, informes con totales y subtotales, inventarios, correspondencia personalizada (mailing), etc.

    Fuente: https://www.mailxmail.com/curso-microsoft-access-2000/que-es-informe-1

    Aporte personal:

    un informe es una forma de presentar la información que se ha recolectado en un determinado sistema, se puede presentar en forma de tabla o según se haya diseñado su presentación.

2. Librerías para generar PDF con PHP y explicar cada una de ellas.

  • Con estas librerías, dan una solución que te permite generar PDF con todas tus expectativas y requisitos.
FPDF:

 --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.

FPDF es una clase escrita en PHP que permite generar documentos PDF directamente desde PHP, es decir, sin usar la biblioteca PDFlib. La F de FPDF significa Free (gratis y libre): puede usted usarla para cualquier propósito y modificarla a su gusto para satisfacer sus necesidades.

-- 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. 

-- DOMPDF:

Es un conversor de HTML a PDF escrito en PHP. Interpreta HTML y CSS para la generación de documentos en PDF con un soporte bastante adecuado para CSS 2.1, incluso algunos avanzados como bordes redondeados en las cajas.

dompdf es un convertidor de HTML a PDF. En esencia, dompdf es (principalmente) un diseño HTML HTML2.1 y un motor de renderizado escrito en PHP. Es un procesador de estilo: descargará y leerá hojas de estilo externas, etiquetas de estilo en línea y los atributos de estilo de elementos HTML individuales. También es compatible con la mayoría de los atributos de HTML de presentación.

--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.

TCPDF es una Open Source Clase/Biblioteca para el Popular Lenguaje de Programación Web PHP v4 y v5, la cual permite crear ficheros PDF al vuelo, es decir dinámicamente.

Dos de las cualidades más apreciadas de esta clase, es su simplicidad a la hora de crear archivos PDF y la capacidad de interpretar código XHTML.

Actualmente se encuentra en constante desarrollo, la versión más reciente es la TCPDF 6.2.12, publicada el 12 de septiembre de 2015.

--FPDI: 

Es una biblioteca que permite generar y leer páginas de documentos PDF, esta liberado bajo la licencia MIT, esta librería está basada en FPDF que tiene ciertas mejoras y ventajas

FPDI es una colección de clases de PHP que facilita a los desarrolladores leer páginas de documentos PDF existentes y usarlas como plantillas en FPDF , que fue desarrollado por Olivier Plathey. Además de una copia de FPDF , FPDI no requiere ninguna extensión especial de PHP.

FPDI también se puede usar con TCPDF (6.x).

FPDI se publica bajo la licencia MIT a partir de la versión 1.6 (las versiones anteriores se publicaron bajo la licencia de Apache Software, versión 2.0).

Aporte personal:

Estas son algunas de las librerias para generar PDF hay muchas mas pero estas son las mas usadas para generar estos archivos en PHP, estas librerias la mayoria son de codigo abierto y estan basadas en licencia GPL-GNU-MIT, estas librerias tienen la capacidad de convertir codigo HTML-CSS a formato PDF esto para darnos una gran ayuda a la hora de generar informes de consultas en nuestros programas.

3. Realizar un cuadro comparativo entre las diferentes librerias con sus diferencias y similitudes

FPDF:

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.

MPDF:

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
  • diseño de página y la orientación
  • Texto-justificación y la separación de sílabas
  • la numeración de páginas
  • Pares e impares de localización, siendo los márgenes de espejo
  • encabezados y pies de página
  • columnas
  • - Tablas tablas anidadas, girada o autosized para que quepa en una página
  • Tabla de contenido
  • Índice
  • Las marcas de agua
  • Imágenes en formato JPG, GIF, PNG, SVG, BMP o WMF
  • Protección de contraseña
  • anotaciones
  • Los códigos de barras (EAN 13, UPC-A / E, Código 11, 39, 93, 128, Codabar, MSI, IMB, Planeta, Postnet, RM4SCC etc.)
  • Importar otro archivo PDF y utilizar como plantilla
  • subconjuntos de fuentes incorporadas
  • compatibilidad con PDF / A-1b (ISO 19005-1: 2005)
  • PDF / X-1a ayuda.

DOMPDF:

  • Maneja la mayoría de CSS 2.1 y algunas propiedades CSS3, incluidas las reglas @import, @media y @page
  • Admite la mayoría de los atributos de presentación 4.0 de HTML
  • Admite hojas de estilo externas, locales o a través de http / ftp (a través de fopen-wrappers)
  • Admite tablas complejas, que incluyen intervalos de filas y columnas, modelos de borde separados y contraídos, estilo de celda individual
  • Soporte de imagen (gif, png (8, 24 y 32 bits con canal alfa), bmp y jpeg)
  • Sin dependencias de bibliotecas PDF externas, gracias a la clase R&OS PDF
  • Soporte PHP en línea
  • Soporte básico de SVG

TCPDF:

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;
  • Admite los formatos JPEG, PNG y SVG imágenes de forma nativa, todas las imágenes soportados por GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) y todas las imágenes soportados a través de ImagMagick (https://www.imagemagick.org/ script / formats.php )
  • 1D y 2D códigos: Code 39, ANSI MH10.8M-1983, USD-3, 3 de 9, CÓDIGO 93, USS-93, Estándar 2 de 5, Interleaved 2 de 5, Código 128 A / B / C, 2 y extensión basada en la UPC 5 dígitos, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal mail Código de cliente de 4 estados), CBC (cliente de código de barras), KIX (índice Klant - índice cliente), correo inteligente de código de barras, OneCode, USPS-B-3200, CODABAR, CÓDIGO 11, Pharmacode, Pharmacode DOS PISTAS, Datamatrix, QR-Code, PDF417;
  • Los perfiles ICC JPEG y PNG, escala de grises, RGB, CMYK, tintas planas y transparencias;
  • encabezado de página automático y gestión de pie de página;
  • el cifrado de documentos de hasta 256 bits y certificaciones de firma digital;
  • operaciones de deshacer los comandos;
  • anotaciones PDF, incluidos los enlaces, texto y archivos adjuntos;
  • los modos de representación de texto (relleno, trazo y recorte);
  • modo en varias columnas;
  • no escritura regiones de la página;
  • marcadores, los destinos con nombre y la tabla de contenidos;
  • separación de palabras de texto;
  • Texto del estiramiento y el espaciamiento (seguimiento);
  • alineaciones salto de página, saltos de línea y de texto automáticos, incluyendo la justificación;
  • grupos automáticos de numeración de páginas y páginas;
  • mover y eliminar páginas;
  • la compresión de página (requiere extensión PHP-zlib);
  • Plantillas XObject;
  • Capas y visibilidad de los objetos.
  • compatibilidad con PDF / A-1b.

Aporte personal :

 El anterior video es una excelente demostración del uso de la librería TCPDF para generar un archivo PDF en PHP, nos relaciona un ejemplo del código usado tanto para importar la librería como las sentencias para configurar la pel formato de la pagina, todo esto con una base de datos creada para poder extraer los datos al formato PDF.

FPDI:

Entre sus características y funciones se muestra a continuación.

  • La generación de cabecera
  • Mallas para tablas de gran tamaño en varias páginas
  • Encabezados de la tabla
  • Escribir detrás o delante de una plantilla
  • Cambiar el tamaño de una plantilla después de la creación
  • Los datos de las plantillas se incluyen en un documento PDFsólo una vez
  • Menos uso de memoria
  • Menos tiempo de generación
  • Archivos PDF más pequeños
  • Ayuda de la plantilla recursiva (uso de plantillas en las plantillas)
  • Etc..

Aporte Personal:

Las librerías es la mejor herramienta a la hora de generar informes, facilitan el proceso y ayudan a agilizar el desarrollo del código.

Cuadro Comparativo

4.Creación de informes o reportes en .pdf (librería ezpdf), cuales son los pasos a seguir y realizar ejemplos básicos (https://blog.unijimpe.net/generar-pdf-con-php/)

Este artículo es para aquellos desarrolladores PHP que quieren además de generar un reporte en html crear dinámicamente documentos PDF con PHP. Hoy por hoy existen diversas librerías que están disponibles para este objetivo, sin embargo el uso del ezPDF es de lo mas sencillo, solo se necesita incluir una librería a nuestro script y hacer uso de la clase ezPDF para crear nuestro archivo PDF.

Para nuestro ejemplo vamos a crear una primera función en la cual almacenaremos todos los valores en un array que luego lo pasaremos a otra función la cual se encargará de imprimir el documento PDF.

function reporte(){

// realizamos una consulta rapidamente - ojo : se está obviando la conexión puesto que no es el objetivo de este post

$sql = "select s.name,s.apellido,s.fecha from tabla_1 t inner join tabla_2 s on t.site_id = s.id where t.id = $variable;
$rs = mysql_query($sql)or die("Could not able site");
$row = mysql_fetch_object($rs);

// llamamos al archivo donde se va a crear la segunda funcion

require_once('imprime.php');

// inicializamos el objeto pdf

$this->pdf = new imprime();

// los resultados del query los colocamos dentro de un array

$data_info = array('name' => $row->name,
'apellido' => $row->apellido,
'fecha' => $row->fecha
);

// llamamos a la segunda funcion y le pasamos el parametro - ojo :se puede pasar mas de un parametro separado por comas

$this->pdf->imprime($data_info);

}

// aqui la segunda funcion, la cual se encarga de diseñar el documento, recoge los parametros

function imprime($data_info){

// nuevo documento pdf - ojo: dentro del parentesis pueden colocar el tipo de hoja como A4, A3, etc

$pdf= new Cezpdf();

// utilizamos la fuente Helvetica.afm

$pdf->selectFont('fonts/Helvetica.afm');

// margenes de la hoja

$pdf->ezSetMargins(30, 30, 50, 30);
$pdf->ezSetY(810);
$pdf->ezText('<b>Titulo Principal</b>',14,array('justification'=>'left'));

// aqui colocamos una imagen que va a actuar como fondo de la hoja - ojo: esta librería solo acepta extensiones jpg y png

$img = ImageCreatefromjpeg(PUBLIC_IMAGES.'imagen.jpg');
$pdf-> addImage($img,120,300,400,400);

// insertamos una linea para comenzar con el contenido

$pdf->line(50,790,550,790);
$pdf->ezSetY(780);

// ingresamos los datos que hemos obtenido del array - ojo: se usa $nombre_variable['indices']

$pdf->ezText('/'.''.$data_info['name'].''.' con '.''.$data_info['apellido'].''.' en la fecha'.''.$data_info['fecha'].' '.'de ejemplo',12,array('justification'=>'left'));
$pdf->ezSetY(50);

// insertamos para nuestro ejemplo la fecha actual del sistema y un pie alineado a la izquierda

$pdf->ezText('(c)'.date('Y').'Pie Principal',12,array('justification'=>'left'));
$pdf->ezSetY(50);
$pdf->ezText(date('j/n/Y g:i'),12,array('justification'=>'center'));
$pdf->ezStream();

}

5. Creación de informes o reportes en excel y word con PHP, cuales son los pasos a seguir y buscar o realizar ejemplos básicos o sencillos

Descargar la librería phpexcel

Se necesita el contenido de la carpeta "clases" que contiene el archivo phpexcel y la carpeta phpexcel

Hacer el include en el proyecto de la siguiente forma:

Para crear el objeto Excel se escribe el siguiente código:

Podemos incluso establecer propiedades del archivo que generaremos asi

Podras comprobarlo una vez generado yendo a las propiedades del archivo.

Lo siguiente sera escribir sobre hojas en nuestro archivo excel.

Primero debemos indicar sobre cual hoja estaremos trabajando,

podemos escribir ahora valores sobre esta hoja activa asi

y hasta darle estilo a esta celda, por ejemplo una fuente en negrita asi.

Si queremos ponerle nombre a esta hoja y que sea visible en esa pestaña lo haremos asi,

y despues podemos crear otra hoja, hacerla activa, establecerle un nombre y trabajar sobre ella de esta forma,

Por ultimo, para guardar este archivo de excel a nuestro disco duro hacemos lo siguiente,

Hacemos activa la primer hoja para que sea la primera visible al abrir,

Y guardamos 

Y listo

Aporte personal:

 Este video nos explica paso a paso cómo podemos generar un informe en excel a través de la librería PHPExcel, nos muestra el código general y explicado sobre como generar este reporte, esencial para descargar nuestra información de la base de datos a Excel.

  • Generar archivo WORD desde PHP

Es el mismo proceso del archivo Excel, la diferencia es que acá ya no manejamos tablas (igualmente si necesitás manejar tablas las podés poner que el las formateará y las mostrará), vamos a ver un código de ejemplo:

es la parte del código php que va encima del código html en la pagina principal

Liliana Taborda Sanchez,Desarrollo de Software, Medellin Colombia 2019
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar