Si vous checkout the PHP REST Client on Github, ou l'ajouter à votre projet PHP via Composer vous serez en mesure d'exécuter un rapport par le biais des services Web.
Votre code devrait ressembler à:
<?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;
?>
Ce récupérerait un rapport au format HTML et le stocker dans $report
. Bien sûr, vous pouvez changer html en pdf ou xls ou n'importe quel format que vous souhaitez exporter vers. Si vous souhaitez afficher des fichiers PDF ou les offrir en téléchargement, vous devez fournir les données binaires à un paquet qui peut les gérer, ou fournir des en-têtes appropriés permettant de les télécharger via un navigateur Web.
Il se trouve que je suis le développeur de ce paquet, alors n'hésitez pas à me poser une question.
Je préfère cette approche et je l'ai utilisée avec succès dans un projet. Considérant que c'était une petite machine virtuelle avec 256 Mo de RAM (dont la plupart étaient utilisés par une base de données), je ne voulais pas utiliser Tomcat ou un conteneur web complet, donc j'ai utilisé le "petit" serveur inclus avec PHP/Java Bridge: 'java -Djava.ext.dirs =. -jar JavaBridge.jar SERVLET_LOCAL: 8081 3 JavaBridge.log' L'utilisation de _java.ext.dirs_ est le seul moyen que j'ai trouvé pour utiliser des fichiers JAR externes (dans ce cas, dans le répertoire local "." de _JavaBridge.jar_). Avant que j'utilise ** java_require **, il n'est plus supporté par les dernières versions de PJB. – Kamal