2010-11-29 27 views
5

Me gustaría utilizar los informes de Java 'motor de informes' para generar informes (HTML/PDF, etc.) y mostrarlos en mi sitio web.utilizando los informes de Jasper en un sitio web de PHP

Sin embargo, mi sitio web utiliza un marco web PHP. ¿Alguien puede sugerirme cómo puedo usar los Informes Jasper dentro de un marco web PHP?

Respuesta

0

Necesitarás construir/encontrar un intérprete de Java en php. O de manera más realista, pida Java desde PHP usando Exec()

EDITAR

o compartir una conexión de base de datos y crear una tabla de intercomunicaciones. Que tiene algunos buenos puntos de escalabilidad a su favor.

3
  1. utilizando PHP/Java Bridge (http://php-java-bridge.sourceforge.net/).
  2. despliegue el Java Bridge en el servidor tomcat.
  3. copiar el lib tarro de Jasper y el conector de MySQL j lib de Tomcat lib
  4. reiniciar el servidor Tomcat
  5. editar php.ini (allow_url_include = On)
  6. ruta de inclusión de la biblioteca en el archivo php. tratar se refiere este código para obtener más información .. http://github.com/tsuyu/jasper-report-php-integration
+0

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

6

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.

+0

Lo intenté utilizando los mismos pasos pero recibí un error como Jaspersoft \ Exception \ RESTRequestException: el servidor devolvió un código de estado HTTP inesperado –

Cuestiones relacionadas