using Jasper reports in a PHP website

2019-02-03 19:57发布

问题:

I would like to use Java reports 'report engine' to generate reports (HTML/PDF etc) and display them on my website.

However, my website is using a PHP web framework. Can anyone suggest how I may be be able to use Jasper Reports within a PHP web framework?

回答1:

If you checkout the PHP REST Client on Github, or add it to your PHP project via Composer you will be able to run a report through web services.

Your code should look something like:

<?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;       
?>

That would retrieve a report in HTML format and store it in $report. Of course you can change html to pdf or xls or whatever format you wish to export to.

If you wish to display PDFs or offer them for download, you will have to supply the binary data to some package that can handle it, or provide proper headers allowing it to be downloaded by a web browser.

I happen to be the one developing this package, so feel free to shoot me a line with any questions.



回答2:

  1. using PHP/Java Bridge(http://php-java-bridge.sourceforge.net/).
  2. deploy the Java Bridge on tomcat Server.
  3. copy the jar jasper lib and mysql connector j lib in tomcat lib
  4. restart tomcat server
  5. edit php.ini(allow_url_include = On)
  6. include path of the library in php file. try refer this code for more information.. http://github.com/tsuyu/jasper-report-php-integration


回答3:

You will either need to build/find a java interpreter in php. Or more realistically, ask Java from PHP using Exec()

EDIT

Or share a database connection and create a table for inter-communications. Which has some nice scalability points in its favor.