I don’t use Jasper or BiRT myself — I have a completely different approach to generating reports.
As a report designer, I work with Word templates (.docx).
These files are essentially ZIP containers with an XML structure (WordprocessingML).
I developed my own merge engine that edits this XML directly and fills it with data, generating output from a single template — for example, hundreds of invoices in one run.
The final output is automatically converted to PDF. This allows us to:
- maintain pixel-perfect layout exactly as designed in Word,
- fully control complex tables, styles, headers/footers, and dynamic elements,
and deliver output exactly as users expect — without the limitations of Jasper.
A major advantage is that users can create or provide their own templates, since they are just Word documents. No additional design tool is required.
For my use case, this works extremely well because the .docx XML is quite predictable and programmable. It is both fast and flexible.
I use the templates not only for invoices, but also for lists and various overviews.
It may not be suitable for everyone, but in situations where a high degree of layout freedom is needed, or where Word templates are already used, this can be a robust alternative to traditional report designers.
Until recently I also used FastReports, but with this approach that is no longer necessary.