using Jasper reports in a PHP website

2019-02-03 19:54发布

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?

3条回答
一夜七次
2楼-- · 2019-02-03 20:07

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.

查看更多
甜甜的少女心
3楼-- · 2019-02-03 20:17

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.

查看更多
Rolldiameter
4楼-- · 2019-02-03 20:20
  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
查看更多
登录 后发表回答