2010-11-29 87 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