Actividad 5

Objetivo: documentar las diferentes formas y librerías que permite manejar PHP para generar informes y exportarlos a PDF, Excel y Word.

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

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

FPDF

Es una clase escrita en PHP que permite generar documentos PDF directamente desde PHP. Puede usted usarla para cualquier propósito y modificarla a su gusto para satisfacer sus necesidades.

TCPDF

Es una clase escrita en PHP 4 y 5 Open Source para generar documentos PDF.

No requiere librerías externas para las funciones básicas.

R&OS

Esta clase está diseñada para proporcionar un módulo para la creación de documentos pdf dentro de PHP.

FDPI

Es un conjunto de clases PHP facilitar a los desarrolladores leer páginas de documentos PDF existentes y utilizarlos como plantillas en FPDF, que fue desarrollada por Olivier Plathey.

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.

Fuente:

https://tecnologiaswebitssna.blogspot.com.co/2011/10/5-librerias-para-generar-pdf-con-php.html

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

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.

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

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

Tablas tablas anidadas, girada o autosized para que quepa en una página

Tabla de contenido

Las marcas de agua

Imágenes en formato JPG, GIF, PNG, SVG, BMP o WMF

Protección de contraseña

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.

Existe una amplia documentación y ejemplos para que se pueda usar en nuestros proyectos.

3.- 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 las principales características están:

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.

Para usar TCPDFhay una amplia documentación y ejemplos, que a partir de ella podremos generar informes de acuerdo a la necesidad del trabajo que se realice.

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

Entre sus características y funcionesse 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 PDF só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)

Para usar esta librería en nuestros proyectos existe documentación y ejemplos

Quizá también te interese algunas librerías que permiten generar documentos PDF en PHP. También existen otras bibliotecas que usted puede optar para usar en su proyecto que a continuación se lista.

Fuente: https://www.gitmedio.com/gitmedio/4-librerias-para-generar-reportes-pdf-con-php/

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.

3. Realizar un cuadro comparativo entre las diferentes librerías con sus diferencias y

Similitudes

4. Creación de informes o reportes en .pdf (librería ezpdf), cuales son los pasos a seguir y realizar ejemplos básicos

el uso del ezPDF es de lo más 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(‘Titulo Principal’,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();

}

Fuente:

https://beeznest.com/es/2009/01/19/generar-reportes-pdf-con-php-usando-la-libreria-ezpdf/

GENERAR PDF CON PHP

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]

Con lo cual obtenemos el siguiente resultado en nuestro browser.

ENLACE CON EJEMPLOS 

www.dropbox.com/s/1hqzk6yh4tfn4cp/php-pdf.zip?dl=0

Fuente: https://blog.unijimpe.net/generar-pdf-con-php/https://blog.unijimpe.net/generar-pdf-con-php/

Aporte personal:

Estas librerias ofrecen ayuda para la realizacion de informes o reportes de manera simple y rápida 

video: generar reportes php

 

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

Fuente:

https://jonathanmelgoza.com/blog/como-crear-un-excel-con-php/

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

Fuente: https://donestandares.wordpress.com/2011/09/05/generar-archivos-de-excel-y-word-desde-php-casi-por-arte-de-magia/

Aporte personal

en general las librerias son una herramienta de mucha ayuda a la hora de simplificar los procesos para realizar informes o reportes .

Para clase practica de informes

https://www.dropbox.com/s/84m0gxzp04iavhu/ClaseInformes.zip?dl=0