La meilleure solution (pour de meilleures performances aussi), appellera un rapport compilé.
vous pouvez voir l'exemple ci-dessous
import java.io.IOException;
import java.util.HashMap;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class PdfFromJasperFile {
public static void main(String[] args) throws JRException, IOException {
JasperPrint jasperPrint = JasperFillManager.fillReport("report.jasper", new HashMap<String, Object>(),
new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, "sample.pdf");
}
}
Après 6 ans depuis que ceci a été posté [JRExport erParameter.OUTPUT_STREAM] (http://javadox.com/net.sf.jasperreports/jasperreports/5.1.0/net/sf/jasperreports/engine/JRExporterParameter.html#OUTPUT_STREAM) a été abandonné, j'ai posté un [réponse] (http://stackoverflow.com/a/35698286/5292302) pour montrer comment cette réponse est obtenue dans la version actuelle. –