используя отчеты Jasper на веб-сайте PHP - PullRequest
5 голосов
/ 29 ноября 2010

Я хотел бы использовать механизм отчетов Java для генерации отчетов (HTML / PDF и т. Д.) И отображения их на моем веб-сайте.

Однако мой сайт использует веб-фреймворк PHP. Кто-нибудь может подсказать, как я могу использовать Jasper Reports в PHP-фреймворке?

Ответы [ 3 ]

8 голосов
/ 28 июня 2012

Если вы извлечете клиент PHP REST на Github или добавите его в свой проект PHP через Composer, вы сможете запустить отчет через веб-службы.

Ваш код должен выглядетьчто-то вроде:

<?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-файлы или предлагать их для загрузки, вам нужно будет передать двоичные данные в некоторый пакет, который можетобработайте его или предоставьте надлежащие заголовки, позволяющие загружать его через веб-браузер.

Я разрабатываю этот пакет именно мной, так что не стесняйтесь писать мне строки с любыми вопросами.

3 голосов
/ 26 ноября 2011
  1. с использованием PHP / Java Bridge (http://php -java-bridge.sourceforge.net /).
  2. развернуть Java Bridge на сервере Tomcat.
  3. скопируйте jar jasper lib и соединитель mysql j lib в tomcat lib
  4. перезапустить сервер Tomcat
  5. edit php.ini (allow_url_include = On)
  6. включить путь к библиотеке в php-файле. попробуйте обратиться к этому коду для получения дополнительной информации .. http://github.com/tsuyu/jasper-report-php-integration
0 голосов
/ 29 ноября 2010

Вам также нужно будет создать / найти Java-интерпретатор в php.Или, если быть более реалистичным, спросите Java из PHP, используя Exec ()

EDIT

Или используйте соединение с базой данных и создайте таблицу для взаимодействия.Который имеет некоторые хорошие точки масштабируемости в свою пользу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...