2010-11-29 23 views
5

Javaレポートの「レポートエンジン」を使用してレポート(HTML/PDFなど)を生成し、自分のウェブサイトに表示したいと考えています。PHPウェブサイトのJasperレポートを使用

しかし、私のウェブサイトはPHPのWebフレームワークを使用しています。 PHP Webフレームワーク内でJasper Reportsをどのように使用できるのか誰にでも示唆されていますか?

答えて

0

phpでjavaインタープリタをビルド/検索する必要があります。あるいはより現実的に、()

EDIT

Execのを使用してPHPからJavaを頼むか、データベース接続を共有し、相互通信用のテーブルを作成します。これには、スケーラビリティの点で有利です。

3
  1. PHP/Java Bridge(http://php-java-bridge.sourceforge.net/)を使用しています。
  2. Tomcat ServerにJava Bridgeをデプロイします。
  3. にTomcatでのjar碧玉libとmysqlのコネクタJ libにコピー
  4. のlib Tomcatサーバーを再始動し
  5. 編集php.iniの(allow_url_includeを=オン)
  6. は、PHPファイル内のライブラリーのパスを含めます。 あなたcheckout the PHP REST Client on Github場合 http://github.com/tsuyu/jasper-report-php-integration
+0

私はこのアプローチを自分で好み、私はそれをプロジェクトで成功裏に使用しました。それは256 MBのRAMを備えた小さなVM(データベースのほとんどが使用されていた)であることを考慮して、Tomcatや本格的なWebコンテナを使用したくないので、PHP/Javaブリッジ: 'java -Djava.ext.dirs =。 -jar JavaBridge.jar SERVLET_LOCAL:8081 3 JavaBridge.log'外部JAR(この場合は_JavaBridge.jar_のローカルディレクトリ "。")を使用するために_java.ext.dirs_を使用する方法があります。 ** java_require **を使用する前は、最新のPJBリリースではサポートされていません。 – Kamal

6

..詳細については、このコードを参照してみてください、またはあなたがウェブサービスを介してレポートを実行することができるようになります作曲を経由して、あなたのPHPプロジェクトに追加します。 HTML形式のレポートを取得して$reportに保存します

<?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からpdf、xls、またはエクスポートしたい書式に変更することができます。

PDFを表示したり、ダウンロードしたりする場合は、バイナリデータを処理できるパッケージに提供するか、適切なヘッダーを提供してWebブラウザからダウンロードできるようにする必要があります。

私はこのパッケージを開発したことがありますので、質問があれば私にラインを撃ってください。

+0

私は同じ手順を使用しようとしましたが、Jaspersoft \ Exception \ RESTRequestExceptionのようなエラーが発生しました:予期しないHTTPステータスコードがサーバーによって返されました –