Si checkout the PHP REST Client on Github, o añadirlo a su proyecto PHP a través Compositor usted será capaz de ejecutar un informe a través de servicios web.
El código debería ser algo como:
<?php
$c = new \Jaspersoft\Client\Client(
"http://localhost:8080/jasperserver-pro",
"jasperadmin",
"jasperadmin",
"organization_1"
);
$report = $c->reportService()->runReport('/reports/samples/AllAccounts', 'html');
echo $report;
?>
Eso sería recuperar un informe en formato HTML y almacenarlo en $report
. Por supuesto, puede cambiar html a pdf o xls o cualquier formato al que desee exportar.
Si desea visualizar archivos PDF u ofrecerlos para su descarga, deberá suministrar los datos binarios a algún paquete que pueda manejarlos, o proporcionar encabezados adecuados que permitan su descarga mediante un navegador web.
Yo soy el que está desarrollando este paquete, así que siéntete libre de escribirme una línea con cualquier pregunta.
Prefiero este enfoque y lo utilicé con éxito en un proyecto. Teniendo en cuenta que era una máquina virtual pequeña con 256 MB de RAM (la mayoría utilizada por una base de datos), no quería utilizar Tomcat ni ningún contenedor web completo, así que usé el servidor "pequeño" incluido con PHP/Java Bridge: 'java -Djava.ext.dirs =. -jar JavaBridge.jar SERVLET_LOCAL: 8081 3 JavaBridge.log' Usar _java.ext.dirs_ es la única forma que he encontrado de utilizar JAR externos (en este caso en el directorio local "." de _JavaBridge.jar_). Antes estaba usando ** java_require **, pero ahora no está soportado por las últimas versiones de PJB. – Kamal