2010-11-29 4 views
5

Je voudrais utiliser le moteur de rapport de rapports Java pour générer des rapports (HTML/PDF etc) et les afficher sur mon site Web.utiliser les rapports Jasper dans un site Web PHP

Cependant, mon site utilise un framework web PHP. Quelqu'un peut-il suggérer comment je serai capable d'utiliser les rapports Jasper dans un framework web PHP?

Répondre

0

Vous aurez besoin de construire/trouver un interpréteur Java en php. Ou de manière plus réaliste, demandez à Java de PHP en utilisant Exec()

EDIT

ou partager une connexion de base de données et créer une table pour les communications internes. Qui a quelques bons points d'évolutivité en sa faveur.

3
  1. en utilisant PHP/Java Bridge (http://php-java-bridge.sourceforge.net/).
  2. déployer le pont Java sur le serveur Tomcat.
  3. copie le connecteur jar jaspe lib et mysql j lib dans tomcat lib
  4. serveur tomcat restart
  5. php.ini modifier (allow_url_include = On)
  6. include_path de la bibliothèque dans le fichier php. essayer référer ce code pour plus d'informations .. http://github.com/tsuyu/jasper-report-php-integration
+0

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

6

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.

+0

J'ai essayé d'utiliser les mêmes étapes mais j'ai eu une erreur comme Jaspersoft \ Exception \ RESTRequestException: Un code d'état HTTP inattendu a été renvoyé par le serveur dans –

Questions connexes