sigedi / jasper-report-bundle
Symfony 6 / Symfony Flex Bundle 集成 Jaspersoft REST v2 客户端 (jaspersoft/rest-client)
2.0.0
2024-01-31 14:12 UTC
Requires
- php: >=8.1
- ext-zip: *
- sigedi/jasper-rest-client: *
- symfony/filesystem: ~6.0|~7.0
- symfony/framework-bundle: ~6.0|~7.0
README
需求
JasperReportBundle 需要 jaspersoft/rest-client,并在 Symfony 服务容器中提供 JasperReport-Client 服务。
安装
1 将包添加到 composer.json
composer require sigedi/jasper_report_bundle
2 包将自动注册,并通过执行配方,在 config/packages
目录中创建配置文件 jasper-report.yaml
,并在 .env
文件中添加相应的条目
3 修改文件 jasper-report.yaml
中的标准设置
sigedi_jasper_report: host: 'https://:8080/jasperserver' username: '%env(SIGEDI_JASPER_REPORT_USERNAME)%' password: '%env(SIGEDI_JASPER_REPORT_PASSWORD)%' org_id: '%env(SIGEDI_JASPER_REPORT_ORGID)%'
和在 .env
文件中
SIGEDI_JASPER_REPORT_USERNAME=jasperadmin SIGEDI_JASPER_REPORT_PASSWORD=jasperadmin SIGEDI_JASPER_REPORT_ORGID=
Symfony 中的基本用法
该包支持自动装配,因此您可以直接在控制器中访问 report-service,例如
use Symfony\Component\HttpFoundation\Request; use Sigedi\JasperReportBundleReportService; public function reportAction(Request $request, ReportService $reportService) { $report = $reportService->runReport('/reports/TestReport', 'pdf'); $response = new Response($report); $response->headers->set('Content-type', 'application/pdf'); $response->headers->set('Content-Disposition', 'inline; filename=Report.pdf'); $response->headers->set('Cache-Control', 'must-revalidate'); return $response; }
其他配置选项
sigedi_jasper_report: host: 'https://:8080/jasperserver' username: '%env(SIGEDI_JASPER_REPORT_USERNAME)%' password: '%env(SIGEDI_JASPER_REPORT_PASSWORD)%' org_id: '%env(SIGEDI_JASPER_REPORT_ORGID)%' timeout: 50
timeout: REST 请求的超时时间(秒)