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);
}