Skip navigation links

Package net.sf.jasperreports.export

Provides exporter input, exporter output and exporter configurations Exporter Input All the input data the exporter might need is supplied by the so-called exporter input before the exporting process is started.

See: Description

Package net.sf.jasperreports.export Description

Provides exporter input, exporter output and exporter configurations

Exporter Input

All the input data the exporter might need is supplied by the so-called exporter input before the exporting process is started. This is because the exporting process is always invoked by calling the exportReport() method of the Exporter interface, and this method does not receive any parameters when called.

The input data for an exporter comes in the form of one or more JasperPrint objects that must be exported to some other document format, along with other optional export settings. These JasperPrint objects may be already in memory, come from the network through an input stream, or reside in files on disk.

An exporter should be able to handle such a wide range of document sources. In fact, all the exporter implementations that are shipped inside the library already do this. They all extend the JRAbstractExporter class, which holds all the logic for dealing with the source documents that need to be exported inside its defined setExporterInput(ExporterInput) method.

As shown in the method signature, all we need is an ExporterInput instance that holds the necessary input data. This object must implement the public List<ExporterInputItem> getItems() method in order to obtain a list of ExporterInputItem objects. Each ExporterInputItem object in the list contains a single JasperPrint object along with its related export configuration settings.

Exporter Output

There are at least three types of exporters, depending on the type of output they produce: The first two categories of exporters reuse generic exporter settings for configuring their output. A text- or character-oriented exporter first looks into its ExporterOutput setting to see whether it needs to output the text content it produces to: If none of these OUT parameters have been set, then the exporter throws an exception to inform the caller.

A binary exporter uses similar logic to find the output destination for the binary content it produces. It checks generic exporter output settings in this exact order: java.io.OutputStream, java.io.File, or file with a given java.lang.String file name.

Special exporters that do not produce character or binary output but rather render the document directly on a target device have special export settings to configure their output.

Output settings for all built-in exporters can be set using the setExporterOutput(O exporterOutput) method inherited from their JRAbstractExporter parent class. The exporterOutput argument must be an instance of ExporterOutput interface.

Export Configuration Settings

Other export configuration settings can be communicated to exporters using the public void setConfiguration(C configuration) and public void setConfiguration(RC configuration) JRAbstractExporter parent class. The first method accepts an ExporterConfiguration argument and applies settings per exporter. The second one accepts a ReportExportConfiguration and applies settings per each exported report in a batch export.

Below are some examples of report configuration settings available in the ReportExportConfiguration class:

Related Documentation

JasperReports Tutorial
See Also:
JasperPrint, JRAbstractExporter
Skip navigation links

Copyright © 2019 TIBCO Software Inc.. All rights reserved.