Practica 2
1) Que es un informe?
R/ Consiste en un texto o una declaración que describe las cualidades de un hecho y de los eventos que lo rodean. Un informe suele ser algún tipo de documento que presenta información
2. Librerías para generar PDF con PHP y explicar cada una de ellas
R/
Para generar archivos PDF podemos utilizar una clase llamada R&OS:pdf class la cual provee metodos muy potentes y simplificados para la creacion de archivos PDF
- - FPDI es una biblioteca que permite generar y leer páginas de documentos PDF
- 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)
- - TCPDF, otro magnifico librería para generar informes en PHP, en el formato de archivo PDF, esta librería es de código abierto
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.
- 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
- 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 es una biblioteca para generar reportes en el formato de archivo PDF 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
- 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.
4.
- 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 creacion de pdf. Entonces creamos un archivo llamado pdf01.php donde creamos nuestro primer documento pdf:
[php]
selectFont(fonts/Helvetica.afm')
$pdf->ezText('Mi primer pdf en PHP',30);
$pdf->ezStream();
?>
[/php]
hemos empleado los metodos: selectFont que es 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 funcion 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
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
Con este ejemplo hemos visto una forma práctica y rápida de crear reportes, para cosas más complejas podemos buscar clases de PHP que hagan ese trabajo. Pero para mí, la mayoría de mis reportes no han sido muy exigentes y con esto ha bastado. Es cosa de ingeniería
Ejemplo adjunto en el siguiente link:
https://mega.nz/#!fc1iGKgS!oDjz5NskG6we8EYVc74kSK7YbbFUW_t8vWYmoHs985M