Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2011, 10h09   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 25
Points : 10
Points : 10
Par défaut probleme generation de pdf

Tout d'abord bonjour,

Si je poste ici c'est parce que je n'ai trouvé la réponse à mon problème nul par ailleurs ...

j'ai généré un rapport sous jasperReport, ce rapport en question est donc maintenant sous le format .jrxml

Je veux que ce rapport se genere en format pdf pour cela j'ai fait appel à Eclipse et j'y ai intégré ce bout de code :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
 
 
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import com.mysql.jdbc.Driver;
 
public class GeneratePDF {
 
    public static void main(String[] args) {
 
        //Paramètres de connexion à la base de données
        String url = "jdbc:mysql://localhost/db_airsoliaaudit";
        String login = "root";
        String password = "";
        Connection connection = null;
 
        try {
            //Connexion à la base
            Driver monDriver = new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(monDriver);
            connection = DriverManager.getConnection(url, login, password);
 
            //Chargement et compilation du rapport
            JasperDesign jasperDesign = JRXmlLoader.load("C:\\diapo_1.jrxml");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
 
            //Paramètres à envoyer au rapport
            Map parameters = new HashMap();
            parameters.put("Titre", "Titre");
 
            //Execution du rapport
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
 
            //Création du rapport au format PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "D:\\iReport-4.0.1\\diapo1.pdf");
        } catch (JRException e) {
 
            e.printStackTrace();
        } catch (SQLException e) {
 
            e.printStackTrace();
        } finally {
            try {
                 connection.close();
                } catch (SQLException e) {
 
                        e.printStackTrace();
                }
        }
 
    }


Et c'est au moment de compiler qu'il survient l'erreur suivante :
Code :
1
2
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
log4j:WARN Please initialize the log4j system properly.
Est-ce que vous savez de quoi il s'agit ?
Merci d'avance pour vos réponse,

Bonne journée
vaness303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 11h30   #2
Membre éclairé
 
Inscription : juin 2005
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 1 056
Points : 329
Points : 329
Envoyer un message via AIM à jadey Envoyer un message via MSN à jadey Envoyer un message via Yahoo à jadey
Est ce que la version d'ireport et tes bibliothèques jasperreport sont de même version ?
Je peux te proposer une solution de contournement qui consiste à utiliser les fichier .jasper déjà compilés et éviter ainsi de perdre quelques secondes pour la compil à la volée.
Voici un bout de code:
Code :
1
2
3
File file = new File("jasperReport");//repertoire avec tes fichiers .jasper
jasperReport = new FileInputStream(new File(file, "nomFichierCompil.jasper"));
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, conn);
J'espère que cela te sera utile.
jadey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 14h14   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 25
Points : 10
Points : 10
cela m'a beaucoup aidé puisque que cela fonctionne ! Merci
vaness303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 16h32   #4
Membre éclairé
 
Inscription : juin 2005
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 1 056
Points : 329
Points : 329
Envoyer un message via AIM à jadey Envoyer un message via MSN à jadey Envoyer un message via Yahoo à jadey
Il y a pas de quoi. N'oublis pas le bouton "Résolu"
jadey est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h27.


 
 
 
 
Partenaires

Hébergement Web