/*
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
*/
|
package com.megatim.reporting.adhoc.util;
|
|
import java.io.File;
|
import java.io.FileOutputStream;
|
import java.io.OutputStream;
|
import java.util.List;
|
import java.util.Map;
|
import net.sf.jasperreports.engine.JasperExportManager;
|
import net.sf.jasperreports.engine.JasperFillManager;
|
import net.sf.jasperreports.engine.JasperPrint;
|
import net.sf.jasperreports.engine.JasperReport;
|
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
import net.sf.jasperreports.engine.util.JRLoader;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
public class PdfUtil {
|
|
public static File generatePdfFile(List<?> datas, String pdfFile, String jasperFilePath, Map params) throws Exception {
|
|
// Creation d'un File sur le fichier
|
File jasperFile = new File(jasperFilePath);
|
File fichierGenerer = new File(pdfFile);
|
|
//On cree le fichier s'ile n'existe pas
|
if (!fichierGenerer.exists()) {
|
|
//On cree le fichier
|
fichierGenerer.createNewFile();
|
|
}
|
|
// Chargement du Rapport
|
JasperReport report = null;
|
|
// Etat rempli
|
JasperPrint jasperPrint = null;
|
|
// Chargement du report
|
report = (JasperReport) JRLoader.loadObject(jasperFile);
|
jasperPrint = JasperFillManager.fillReport(report, params, new JRBeanCollectionDataSource(datas, false));
|
|
OutputStream output = new FileOutputStream(fichierGenerer);
|
JasperExportManager.exportReportToPdfStream(jasperPrint, output);
|
output.close();
|
|
return fichierGenerer;
|
}
|
}
|