drsoft/laraveljasper

一个Laravel报告生成器

安装: 4

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

语言:HTML

v1.0 2022-06-04 11:26 UTC

This package is auto-updated.

Last update: 2024-09-04 16:05:36 UTC


README

A Laravel Report Generator

此包从https://github.com/PHPJasper/phpjasper复制而来

安装

如果您没有安装Composer,请安装它:Composer

composer require drsoft/laraveljasper
php artisan vendor:publish --tag=laravel-jasper-config

如果Java 8不是默认版本,您可以更改path_executablejre_bin

示例

《Hello World》示例。

前往存储库根目录下的示例目录(vendor/drsoft/laraveljasper/examples)。使用Jaspersoft Studio或您喜欢的文本编辑器打开hello_world.jrxml文件,查看源代码。

编译

首先,我们需要将我们的JRXML文件编译成一个JASPER二进制文件。我们只需要做一次。

注意1:如果您使用的是Jaspersoft Studio,则无需执行此步骤。您可以直接在程序中编译。注意2:如果$path_reports为null,则命令将在jasperstart处执行,否则将在报告处执行,这将知道同一目录中的子报告以及资源。

use LaravelJasper;
$path_reports = null
$input = __DIR__ . '/vendor/drsoft/laraveljasper/examples/hello_world.jrxml'; 

OR  

$input = 'hello_world.jrxml'; 
$path_reports = __DIR__ . '/vendor/drsoft/laraveljasper/examples/';

LaravelJasper::compile($input,'',$path_reports)->execute();

此命令将编译hello_world.jrxml源文件为hello_world.jasper文件。

处理

现在让我们处理我们之前编译的报告

use LaravelJasper;

$path_reports = null
$input = __DIR__ . '/vendor/drsoft/laraveljasper/examples/hello_world.jasper'; 

OR  

$input = 'hello_world.jasper'; 
$path_reports = __DIR__ . '/vendor/drsoft/laraveljasper/examples/';

$output = __DIR__ . '/vendor/drsoft/laraveljasper/examples';    
$options = [ 
    'format' => ['pdf', 'rtf'] 
];


LaravelJasper::process(
    $input,
    $output,
    $options,
    $path_reports
)->execute();

现在查看示例文件夹! :) 很棒,对吧?您现在有2个文件,hello_world.pdfhello_world.rtf

请查看src/LaravelJasper.php中的methods compileprocess以获取更多详细信息

列出参数

查询jasper文件以检查给定jasper报告文件中可用的参数

use LaravelJasper;

$path_reports = null
$input = __DIR__ . '/vendor/drsoft/laraveljasper/examples/hello_world.jrxml'; 

OR  

$input = 'hello_world.jrxml'; 
$path_reports = __DIR__ . '/vendor/drsoft/laraveljasper/examples/';


$output = LaravelJasper::listParameters($input,$path_reports)->execute();

foreach($output as $parameter_description)
    print $parameter_description . '<pre>';

使用数据库生成报告

我们还可以指定用于连接数据库的参数

use LaravelJasper;    

$path_reports = null
$input = '/your_input_path/your_report.jasper'; 

OR 
$path_reports = 'your_input_path'
$input = 'your_report.jasper'; 

$output = '/your_output_path';
$connection= config('database.default');
$databaseName = config('database.connections.'.$connection);
        
            
            $options = [
                'format' => ['pdf'],
                'locale' => 'en',
                'params' => [
                    "RECORD_ID"=>1,

                ],
            
                'db_connection' => [
                    'driver' => $connection, //mysql, ....
                    'username' => $databaseName['username'],
                    'password' => $databaseName['password'],
                    'host' => $databaseName['host'],
                    'database' => $databaseName['database'],
                    'port' => $databaseName['port']
                ]
            ];


LaravelJasper::process(
        $input,
        $output,
        $options,
        $path_reports
)->execute();

感谢

Geekcom为PHPJasper

Cenote GmbHJasperStarter

有问题吗?

打开一个新的问题或查找已关闭的问题

许可证

MIT