Crear informes PDF con PHP 8.X “phpjasperXML”

He actualizado la página en donde se describe la funcionalidad de esta librería de PHP para hacer reportes en formato PDF.

Ahora que ya está el portal en PHP 8.1, puedo poner todos los ejemplos que trae el producto y las implementaciones que he hecho en PHPRunner.

Para todos aquellos que requerís hacer informes en PDF os aconsejo que reviséis la funcionalidad que da el producto. No es Jasper Report Server, pero soluciona un conjunto grande de tipos de informes.

Os recuerdo dónde está el artículo.

Cambio del portal a PHP 8.1

En esta infraestructura que tengo contratada, sólo puedo disponer de una versión de PHP y he decidido que debe ser la 8.1.

Esto tiene tiene múltiples consecuencias, la más inmediata y más grande, el que muchos de los ejemplos no funcionen ya que están desarrollados con versiones anteriores a PHPRunner 10.7.

Poco a poco, los iré cambiando, por lo que os ruego tengáis paciencia y esperéis hasta que pueda terminar el trabajo o , la otra alternativa, es que os descarguéis el ejemplo y lo generéis con la versión requerida en vuestro PC.

¡¡¡¡Gracias por la comprensión !!!!!

Este es un benchmark de las distintas versiones de PHP. He tomado la referencia de Symfony porque quizá es la más similar a las aplicaciones de PHPRunner.

Independientemente del incremento de rendimiento que tienen las nuevas versiones de PHP, debemos contemplar el soporte a las versiones del producto.


Seguimiento de los cambios

24/07/2022

  • Debo reconocer que Xlinesoft ha hecho un excelente trabajo en la versión 10.7, porque las aplicaciones (si son de versión 10.2 o superior) se migran a esta versión de forma muy sencilla y prácticamente todo, se migra sin cambios.
  • Acordaros de actualizar los plugins que tengáis descargado. Los de mi web están actualizados para PHP 8.
  • Todas las librerías externas de JavaScript no tienen impacto en este cambio.
  • En este momento, principalmente me queda por migrar los ejemplos de las Guías.
  • En algunos casos he tenido que actualizar las librería externas que usaba, por ejemplo, los webservices
  • También, este repaso me ha servido para restaurar bases de datos de ejemplos, que habían sido destruidos por algunos de los usuarios.
  • El error más habitual que he corregido es el de nombrar variables de array
    $valor = $values[id];      // funcionaba en PHP 7.4 y no en PHP 8.1
    $valor = $values['id'];    // Correcto siempre

11/08/2022

  • Ya he terminado de convertir los ejemplos. Creo que están todos.
  • No han salido cosas nuevas a tener en cuenta.
  • Sólo me queda los ejemplos de Rest Full Api, porque requiere la actualización del framework Slim y los cambios en la programación son muy grandes y tengo que reconstruir todos los ejemplos.
  • Si detectáis algún problema os ruego me aviséis en mi email [email protected]

16/08/2022

. Ya he terminado la conversión de la aplicación Server de ResFull Api que con PHP 8.1, se requiere utilizar Slim 4.0

Workflow 3.0, Completado el desarrollo

¡¡¡ Para aquellos que estéis probando la versión 3 de Workflow!!!

He terminado la actualización.

Esta versión requiere PHP 8.X. Está probada con PHP 8.1

La versión de PHP es requerida por la librería «phpjasperxml»  que podéis obtener en este enlace https://github.com/SIMITGROUP/phpjasperxml .

Para aquellos que requerís informes/documentos en PDF, es muy importante que utilicéis esta solución de confección de documentos PDF, porque os dará continuidad y futuro a vuestra aplicación.

Avisadme ([email protected]) si tenéis problemas o requerís nueva funcionalidad.

Guía 41 – Imprimir etiquetas de Productos

Generar PDF’s en PHPRunner, en la últimas versiones, es bastante sencillo, pero poder hacer ajustes de la generación de esos documentos PDF’s es muy complejo o imposible, con la solución estándar de PHPRunner.

Para la últimas versiones de PHPRunner, que la recomendación es utilizar la versión de PHP 8.X, os he comentado que he utilizado la solución de PhpJasperXml 2.0.1, obteniendo unos resultados muy, muy buenos.

Para que dispongáis de un ejemplo sencillo de utilización de PhpJasperXml 2.0.1, he creado esta guía para que podáis evaluar lo simple que es integrarlo en PHPRunner.

Objetivo

Generar etiquetas para imprimir en impresora Zebra (impresoras de etiquetas), seleccionando registros de un listado. Con pequeñas variaciones se puede utilizar en impresoras láser estándar con hojas de etiquetas (que yo entiendo es la mejor solución para muchos casos)

Solución Técnica

Como he indicado, el ejemplo contempla la utilización del la librería de PhpJasperXML 2.0.1, que es una eficiente solución para hacer informes PDF’s de cualquier tipo, que previamente se hayan diseñado con Jasper Studio.

La funcionalidad es muy sencilla, de la lista de productos, se seleccionan los registros de los que deseamos generar las etiquetas y pulsamos el botón naranja de impresión . Si te interesa este tema sigue leyendo el siguiente artículo de este enlace.

Crear informes PDF con PHP 8.X «phpjasperXML»

Como podréis ver en otros artículos, os propuse utilizar JasperPHP como una buena alternativa para generar documentos e informes en PDF.
Al actualizar la versión de Workflow 3.0 quise añadir la funcionalidad de informes PDF y así añadí la utilización de JasperPHP pero me encontré que esta librería no funciona en PHP 8.X  y creo que una nueva versión de Workflow debe actualizarse para funcionar con PHP 8, y que esto era irrenunciable.

Buscando me encontré con PHPjasperXML que dispone de la versión 1.1 para PHP 7.X y la versión 2.0 para PHP 8.X.

Al igual que JasperPHP, tiene muy buena solución para crear informes con uso del 100% PHP, pero sigue sin ser  completo, por lo que en algunos casos es superior a JasperPHP y en otros casos es inferior.

Lo que sí está muy claro es que es más sencillo y práctico de utilizar y que nos resuelve el problema de su utilización en PHP 8.X, que para mí, es imprescindible.

Si todavía no has utilizado JasperPHP, te aconsejo que utilices esta versión de phpJasperXML, tanto para PHP 7.X como para PHP 8.X

Si te interesa este tema, sigue leyendo la información del artículo.

Blog personal para facilitar soporte gratuito a usuarios de React y PHPRunner