penblu/

jasperphp

由PenBlu创建的扩展,用于使用由Hélder Duarte创建的JasperPHP库(https://github.com/cossou/JasperPHP)。

安装次数: 5

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放性问题: 0

语言:HTML

类型:yii2-extension

1.0.1 2021-02-05 18:46 UTC

This package is auto-updated.

Last update: 2024-09-06 02:50:03 UTC


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.pdfBlank_A4_1.xlsx

请查看文件vendor/penblu/jasperphp/JasperPHP.phpcompileprocess函数的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();

要求