Exporting Reports
Overview
Section titled “Overview”JasperReports Library provides Exporter implementations that can export print documents to various formats
such as HTML, PDF, XLSX, and more.
ReportShell wraps these exporters behind a small ReportExporter abstraction so that the same export pipeline powers REST responses and the frontend viewer’s download flows.
Exporter Factories
Section titled “Exporter Factories”The framework uses a ReportExporterFactory to create a configured ReportExporter for each export
operation.
ReportShell provides built-in factories for the most common export formats:
- HTML
- PDF (requires
jasperreports-pdf-<version>.jaron the classpath) - CSV
- XLSX
- DOCX
- CSV (Metadata)
All these factories extend AbstractReportExporterFactory, which handles most of the common factory
logic.
For other formats or custom exporter logic, you typically register a custom
ReportExporterFactory for a specific output format. See API docs of
ReportExporterFactoryRegistry for how to register or override exporter factories.
See also Exporter Registration Sample on GitHub, which shows how to register an RTF exporter factory.
Export Context
Section titled “Export Context”When exporting a report, the framework creates a ReportExportContext that contains everything
needed for the export operation. This includes the Operation Context,
the output stream to write to, an ExporterInput containing the JasperPrint document, and export
options (for example: output format, page, page range, and zoom).
This context is passed to a ReportExporterFactory which creates and
configures a ReportExporter based on this context.
© 2026 Bivektor Inc. All rights reserved. ReportShell™
is a trademark of Bivektor, Inc.
Questions? Email us at reportshell@bivektor.com.
JasperReports® and Jaspersoft® are trademarks of Cloud Software Group, Inc. and/or its subsidiaries. Eclipse BIRT™ and BIRT™ are trademarks of the Eclipse Foundation. Spring® is a trademark of Broadcom Inc. and/or its subsidiaries. React is a trademark of Meta Platforms, Inc. ReportShell and Bivektor, Inc. are not affiliated with, endorsed by, sponsored by or otherwise associated with the owners of the JasperReports®, Jaspersoft®, Spring®, Eclipse BIRT™, BIRT™ or React marks. Any reference to these or other trademarks on this site is made solely for informational, descriptive, comparative and interoperability purposes.