rdpascua / reporter
使用 Laravel 对 JasperStarter 的优雅包装
dev-main
2023-08-31 06:43 UTC
Requires
- php: ^8.0
- spatie/laravel-package-tools: ^1.14
- symfony/process: ^6.0
Requires (Dev)
- laravel/pint: ^1.7
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-30 01:21:49 UTC
README
使用 Laravel 对 JasperStarter 的优雅包装
安装
composer require rdpascua/reporter
用法
加载报告并将其流式传输到浏览器
use Rdpascua\Reporter\Facades\Reporter; // Stream the report to the browser Reporter::load('path/to/jasper/file.jasper')->stream('document.pdf');
传递参数
Reporter::load('path/to/jasper/file.jasper', [ 'param1' => 'value1', 'param2' => 'value2', ]) ->stream('document.pdf');
将报告保存到文件
Reporter::load('path/to/jasper/file.jasper', [ 'param1' => 'value1', 'param2' => 'value2', ]) ->save('document.pdf');
使用数据库连接生成报告
Reporter::load('path/to/jasper/file.jasper')->withDataSource('pgsql')->save('document.pdf');
编译 jrxml 文件
Reporter::load('path/to/jasper/file.jrxml')->compile('path/to/jasper/file.jasper');
待办事项:编译多个 jrxml 文件
Reporter::load([ 'path/to/jasper/file1.jrxml', 'path/to/jasper/file2.jrxml', 'path/to/jasper/file3.jrxml', ])->compile(); // Generates the following files // path/to/jasper/file1.jasper // path/to/jasper/file2.jasper // path/to/jasper/file3.jasper
待办事项
- 编译多个 jrxml 文件
- 添加对 jdbc 连接的支持
- 添加对 csv 的支持
- 添加对 xml 的支持
- 添加对 json 的支持