Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Jasper Report Bundle

Jasper Report Bundle Laravel Package

mesd/jasper-report-bundle

A Symfony bundle that integrates JasperReports, letting you compile .jrxml report templates and generate PDF, Excel, HTML, CSV, and other outputs directly from your Symfony application through the bundled JasperReports library.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Jasper Report Bundle
Can I use mesd/jasper-report-bundle in a Laravel application?
Not as a drop-in dependency. mesd/jasper-report-bundle is a Symfony bundle with no Laravel service provider, facade, config publishing, or package auto-discovery, so Laravel will not register it automatically. Your realistic options are to wire the bundle's services into Laravel's container manually, use the underlying PHPJasper library directly, or port the small wrapper logic into your own class. Most teams treat the bundle as a reference implementation rather than a production dependency.
How do I install mesd/jasper-report-bundle?
Installation means Composer plus a working Java runtime. Because this is a 2018-era Symfony bundle, a modern Laravel or Symfony dependency tree will likely produce resolver conflicts against symfony/http-kernel constraints. The practical path is to fork or vendor the code, loosen its version constraints, and do your own PHP 8.x compatibility pass. Plan JRE, JasperReports jars, and JDBC driver provisioning as part of the install, not as an afterthought.
What are the requirements for generating JasperReports from PHP?
You need a Java runtime, the JasperReports library jars, any JDBC drivers your data source requires, and a Java binary reachable by the PHP process user. You also need a writable compile or temp directory for the generated .jasper files. Without those, the Composer install succeeds but every report render fails at runtime.
Is mesd/jasper-report-bundle still maintained?
Assume it is unmaintained. The last release was 2018-02-16 with roughly 3 stars and no dependents, and there is no visible CI, security disclosure process, or maintainer response path. Adopt it with a fork-and-own posture and budget for JRE upgrades, CVE patching, and your own bug fixes. If you cannot own a fork, pick a supported alternative instead.
Which Laravel or Symfony versions does the bundle support?
Expect Symfony 2.x/3.x era constraints and pre-PHP-8 code. The bundle predates typed properties and return-type strictness, so Composer resolution against a current Laravel or Symfony install will likely conflict. Vendoring or a hard fork with loosened constraints plus a PHP 8 compatibility pass is the realistic route. Verify against your exact PHP and framework versions before committing to it.
How do I generate PDF, XLS, or HTML reports from .jrxml templates?
The workflow is compile, then render. The service compiles a .jrxml template into a .jasper binary, then invokes java -jar against a data source to produce PDF, XLS/XLSX, HTML, CSV, or other configured formats. Compiled reports can be cached so repeated generations skip compilation. In Laravel you would wrap this in a service or queued job that you control.
What is the performance impact of rendering reports synchronously?
Each render starts a JVM subprocess through exec or proc_open, which adds startup latency and blocks the PHP worker handling the request. For anything beyond occasional reports, dispatch generation to a queue and cache compiled .jasper files. If volume grows, consider a long-running report service rather than per-request Java invocations.
Is it safe to render user-supplied .jrxml templates?
No. Treat .jrxml templates as executable artifacts, not as data. They can reference jars, subreports, and JDBC connections, so an untrusted template is effectively code and configuration. Escape every subprocess argument, restrict the temp and compile directories, and only render templates from a controlled, reviewed source.
What alternatives should I consider before adopting this bundle?
If PDF output is the only real requirement, simpler options exist: Blade with DomPDF, mPDF, or TCPDF; Browsershot or Puppeteer for HTML-to-PDF with CSS fidelity; Laravel Excel for spreadsheets; and Laravel Snappy for wkhtmltopdf. The PHPJasper library is a more recently active wrapper if you must keep JasperReports. Choose this bundle mainly when existing .jrxml assets mandate the JasperReports engine.
How should I structure report generation in Laravel if I keep JasperReports?
Keep the capability but remove the abandoned Symfony package from your dependency graph. Define a small ReportRenderer contract, back it with PHPJasper or a direct java -jar invocation, and inject configuration for binary paths, template directories, and output formats. Run generation in queued jobs, cache compiled .jasper files, and assign clear ownership of the JRE upgrade cadence and JasperReports licensing.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console