penblu / jasperphp
由PenBlu创建的扩展,用于使用由Hélder Duarte创建的JasperPHP库(https://github.com/cossou/JasperPHP)。
1.0.1
2021-02-05 18:46 UTC
Requires
- yiisoft/yii2: *
README
通过JasperReports 6库和JasperStarter v3命令行工具生成报告的包。更多详细信息请参考https://github.com/cossou/JasperPHP
安装
composer require penblu/jasperphp
简介
此包旨在成为编译和处理JasperReports (.jrxml & .jasper文件)的解决方案。
编译
首先,我们需要将我们的JRXML
文件编译成一个JASPER
二进制文件。我们只需做一次。
注意:如果您使用的是Jaspersoft Studio,则无需执行此步骤。您可以直接在程序内进行编译。
$jasper = new JasperPHP(); JasperPHP->compile(__DIR__ . '/vendor/penblu/jasperphp/examples/Blank_A4_1.jrxml')->execute();
此命令将hello_world.jrxml
源文件编译成hello_world.jasper
文件。
注意:如果您使用的是Laravel 4,请运行php artisan tinker
并复制并粘贴上述命令。
处理
现在让我们处理之前编译的报告
$jasper = new JasperPHP(); $jasper->process( base_path(__DIR__ . '/vendor/penblu/jasperphp/examples/Blank_A4_1.jasper'), false, array('pdf', 'xlsx'), array('php_version' => phpversion()) )->execute();
现在检查示例文件夹! :) 很棒,对吧?您现在有2个文件,Blank_A4_1.pdf
和Blank_A4_1.xlsx
。
请查看文件vendor/penblu/jasperphp/JasperPHP.php
中compile
和process
函数的API。
参数列表
查询jasper文件以检查给定jasper报告文件中可用的参数
$jasper = new JasperPHP(); $output = $jasper->list_parameters( base_path(__DIR__ . '/vendor/penblu/jasperphp/examples/Blank_A4_1.jasper') )->execute(); foreach($output as $parameter_description) echo $parameter_description;
高级示例
我们还可以指定用于连接数据库的参数
$jasper = new JasperPHP(); $jasper->process( base_path(__DIR__ . '/vendor/penblu/jasperphp/examples/Blank_A4_1.jasper'), false, array('pdf', 'xlsx'), array('php_version' => phpversion()), array( 'driver' => 'postgres', 'username' => 'vagrant', 'host' => 'localhost', 'database' => 'samples', 'port' => '5433', ) )->execute();
要求
- Java JDK 1.6或更高版本
- PHP exec()函数
- [可选] Mysql Connector(如果您想使用数据库)
- [可选] Jaspersoft Studio(用于绘制和编译您的报告)