2010-11-29 105 views
5

我想使用Java报告的“报告引擎”生成报告(HTML/PDF等)并将其显示在我的网站上。在PHP网站中使用Jasper报告

但是,我的网站正在使用PHP Web框架。任何人都可以建议我怎么能够在PHP Web框架中使用Jasper Reports?

回答

0

您将需要在php中构建/查找Java解释器。或者更现实的是,从PHP执行exec()

编辑

问Java或共享一个数据库连接,创造互相通信的表格。它有一些很好的可扩展性点。

3
  1. 使用PHP/Java Bridge(http://php-java-bridge.sourceforge.net/)。
  2. 在tomcat服务器上部署Java Bridge。
  3. 复制罐子碧玉lib和MySQL的连接口J LIB中Tomcat的lib
  4. 重启Tomcat服务器
  5. 编辑的php.ini(allow_url_include = ON)
  6. 包括在PHP文件的库的路径。 尝试参考有关更多信息,这个代码.. http://github.com/tsuyu/jasper-report-php-integration
+0

我更喜欢这种方法,我成功地在项目中使用它。考虑到它是一个具有256 MB RAM(其中大部分由数据库使用)的小型VM,我不想使用Tomcat或任何成熟的Web容器,因此我使用PHP/Java Bridge:`java -Djava.ext.dirs =。 -Jar JavaBridge.jar SERVLET_LOCAL:8081 3 JavaBridge.log`使用_java.ext.dirs_是我发现使用外部JAR的唯一方法(在本例中为_JavaBridge.jar_的本地目录“。”)。在我使用** java_require **之前,它现在不被最新的PJB版本所支持。 – Kamal 2012-09-26 20:07:56

6

如果checkout the PHP REST Client on Github,或者通过作曲家添加到您的PHP项目,你就可以通过网络服务来运行报告。

你的代码应该是这个样子:

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

这将检索HTML格式的报告,并将其存储在$report。当然,您可以将html更改为pdf或xls或您希望导出到的任何格式。

如果您希望显示PDF或将其提供下载,您必须将二进制数据提供给某个可以处理它的包,或者提供适当的头允许它通过Web浏览器下载。

我恰好是开发这个软件包的人,所以请随时为我解答任何问题。

+0

我曾尝试使用相同的步骤,但得到像Jaspersoft \ Exception \ RESTRequestException错误:服务器返回意外的HTTP状态代码 – 2016-03-29 05:54:18