New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

rdpascua/reporter

An elegant wrapper for JasperStarter using Laravel
1,013
Install
composer require rdpascua/reporter:dev-main
PHP:^8.0
License:MIT
Last Updated:Aug 31, 2023
Links: GitHub  ·  Packagist
Maintainer: rdpascua

Reporter

An elegant wrapper for JasperStarter using Laravel

Installation

composer require rdpascua/reporter

Usage

Loading a report and streaming it to the browser

use Rdpascua\Reporter\Facades\Reporter;

// Stream the report to the browser
Reporter::load('path/to/jasper/file.jasper')->stream('document.pdf');

Passing parameters

Reporter::load('path/to/jasper/file.jasper', [
    'param1' => 'value1',
    'param2' => 'value2',
])
->stream('document.pdf');

Saving the report to a file

Reporter::load('path/to/jasper/file.jasper', [
    'param1' => 'value1',
    'param2' => 'value2',
])
->save('document.pdf');

Generate a report using a database connection

Reporter::load('path/to/jasper/file.jasper')->withDataSource('pgsql')->save('document.pdf');

Compiling a jrxml file

Reporter::load('path/to/jasper/file.jrxml')->compile('path/to/jasper/file.jasper');

TODO: Compiling multiple jrxml files

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

TODO

  • Compiling multiple jrxml files
  • Add support for jdbc connections
  • Add support for csv
  • Add support for xml
  • Add support for json

Related Packages

sigeturbo/report

SigeTurbo Report

191 1
spatie/flare-client-php

Send PHP errors to Flare

185,439,956 178
rcrowe/laravel-sentry

Tasty intergration of Laravel & Sentry for sweet reporting of your logs

2,757 15
ekmungai/eloquent-ifrs

Eloquent Double Entry Accounting with focus on IFRS Compliant Reporting

68,781 367