yohkenn/symfony-jasper-report-bundle

Symfony 3 Bundle integrating the Jasper Server REST v2 client (Jaspersoft/rest-client)


Keywords
rest, bundle, Symfony 3, JasperReport
License
MIT

Documentation

JasperReportBundle

The JasperReportBundle requires jaspersoft/rest-client and provides an JasperReport-Client as service in the Symfony service container.

Installation

1 Add bundle to composer.json:

    composer require yohkenn/jasper-report-bundle

2 Register bundle in app/AppKernel.php:

    $bundle = [
            ...
            new YohKenn\JasperReportBundle\YohKennJasperReportBundle(),
            ...
    ];

3 Add parameter to app/config/config.yml

    yoh_kenn_jasper_report:
        jrs_host:      "%jrs_host%"
        jrs_port:      "%jrs_port%"
        jrs_base:      "%jrs_base%"
        jrs_username:  "%jrs_username%"
        jrs_password:  "%jrs_password%"
        jrs_org_id:    "%jrs_org_id%"

4 Add a dummy configuration in app/config/paramters.yml.dist

    jrs_host:      127.0.0.1
    jrs_port:      8080
    jrs_base:      jasperserver
    jrs_username:  jasperadmin
    jrs_password:  jasperadmin
    jrs_org_id:    null

5 Add your own configuration in app/config/paramters.yml

Usage

You can now access the Client object via the Symfony service yohkenn.jasper.report.client:

    $client = $this->get('yohkenn.jasper.report.client')->getJasperClient();

So a controller giving back a pdf-report would look like

    public function reportAction(Request $request)
    {
        $format = "pdf";
        $reportUnit = "Your report unit";
        $params = array(
            "Custom Value 1" => "Custom Label 1",
            "Custom Value 2" => "Custom Label 2"
        );

        return $this->get('yohkenn.jasper.report.client')->export($format,$params,$reportUnit);
    }