Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
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 17/02/2011, 15h28   #1
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
Par défaut [2.5.2] Ouvrir/afficher un rapport BIRT via du code JAVA

Bonjours a tous,
j'arrive pas a trouvé et a comprend comment en JAVA, je pourrais simplement affiché un rapport BIRT en PDF, htm, DOC, ect... sachant que les rapports sont déja réalisé.

je voudrais juste a travers du code java fair appel a un rapport dans mes dossier et l'affiché.

Donc je doit en JAVA:
- ouvrir un dossier
- parcourir un dossier
- selectionné un rapport
- affiché un rapport (en PDF, html, Doc...)

j'ai fait le tour des sites concernant BIRT, j'ai notament trouvé des exemples qui fonctionne pas chez moi, mais j'arrive pas a comprendre les differents lignes utilisé

merci d'avance
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 17h17   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Pour la génération à partir de Java, voir ceci.

Et surprise, le code est même commenté !
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/02/2011, 15h41   #3
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
Merci beaucoup pour le lien, d'ailleur j'essaye d'utilisé "Edition.class"
mais malheureusement j'ai une erreure d'execution :

Citation:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/CoreException
at org.eclipse.birt.report.engine.api.impl.ReportEngine.<init>(ReportEngine.java:109)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:18)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.createReportEngine(ReportEngineFactory.java:14)
at Edition.<init>(Edition.java:54)
at Edition.getInstance(Edition.java:66)
at Edition.main(Edition.java:138)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.CoreException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 15h44   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Est-ce que le chemin donné dans setBIRTHome() est valide ET renvoie vers le dossier ReportEngine du Runtime BIRT ?
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/02/2011, 15h45   #5
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
ben oui je pense voila le code :
Citation:
private Edition() throws BirtException {
EngineConfig config = new EngineConfig();
realPath = "C:\\eclipse\\birt-runtime-2_5_2\\ReportEngine\\";
config.setResourcePath(new File(realPath, "WEB-INF/classes/ressources").getAbsolutePath());
config.setBIRTHome(new File(realPath).getAbsolutePath());//endroit où se trouvent les librairies du Runtime
Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine(config);
option = new RenderOption();

}
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 15h49   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Enlève le setResourcePath(...) qui est à priori inutile dans ton cas.

Est-ce que les versions des librairies BIRT utilisées dans ton application sont exactement les mêmes que celle du Runtime ?
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/02/2011, 15h52   #7
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
la version de mon birt runtime est 2.5.2 et pour la libraries je sais pas trop comment regarder (j'ai télécharger All-in-one 2.5.2)
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 15h57   #8
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Citation:
Envoyé par droopy1080 Voir le message
la version de mon birt runtime est 2.5.2 et pour la libraries je sais pas trop comment regarder
Pour avoir les mêmes, il suffit de prendre celles qui sont dans le répertoire lib du Report Engine. Après, voir la version actuelle c'est une autre histoire...
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/02/2011, 16h05   #9
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
merci beaucoup
mais j'ai une autre erreure mtn :
Citation:
22-févr.-2011 16:04:15 org.eclipse.birt.report.engine.api.impl.ReportEngineHelper openReportDesign
GRAVE: C:\eclipse\birt-runtime-2_5_2\ReportEngine\etats\hello_world.rptdesign.rptdesign not found!
org.eclipse.birt.report.engine.api.EngineException: The design file C:\eclipse\birt-runtime-2_5_2\ReportEngine\etats\hello_world.rptdesign.rptdesign can not be found.
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:112)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:294)
at Edition.run(Edition.java:93)
at Edition.main(Edition.java:144)
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 16h11   #10
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Personnellement, je lis :
Citation:
GRAVE: C:\eclipse\birt-runtime-2_5_2\ReportEngine\etats\hello_world.rptdesign.rptdesign not found!
Je ne suis pas sûre que ton rptdesign s'appelle hello_world.rptdesign.rptdesign ni que tes états soit dans le répertoire etats de ReportEngine.

Essaye de comprendre comment fonctionne la classe Edition que tu as récupéré
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/02/2011, 16h32   #11
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
je vous laisse le code et l'erreure, si vous avez des remarques

le code :
Code Java :
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
 
import java.io.File;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
 
import org.eclipse.birt.core.exception.BirtException;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.IRenderTask;
import org.eclipse.birt.report.engine.api.IReportDocument;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunTask;
import org.eclipse.birt.report.engine.api.RenderOption;
 
/**
 * Cette classe permet la génération dans n'importe quel format
 * de n'importe quelle édition.
 * Il faut d'abord l'instancier, puis l'initialiser et la lancer.
 * Si nécessaire, cette classe peut être threadée facilement.
 * 
 * @author BiM
 *
 */
public final class Edition {
 
	private static Edition m_Instance = null;
	private IReportEngine engine;
	private String realPath;
	private IRenderOption option;
	private String etat;
	private String chemin;
	private Map<String, Object> parametres;
	private String format;
	private Locale langue;
 
	/**
	 * Constructeur
	 * Il configure le moteur BIRT de sorte à ce qu'il puisse retrouver
	 * les ressources BIRT mais également les librairies le faisant tourner
	 * Il est alors démarrer avec cette configuration.
	 * @throws BirtException
	 */
	private Edition() throws BirtException {
		EngineConfig config = new EngineConfig();
		realPath = "C:\\eclipse\\birt-runtime-2_5_2\\ReportEngine\\";
		//config.setResourcePath(new File(realPath, "WEB-INF/classes/ressources").getAbsolutePath());
		config.setBIRTHome(new File(realPath).getAbsolutePath());//endroit où se trouvent les librairies du Runtime
		Platform.startup(config);
		IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
		engine = factory.createReportEngine(config);
		option = new RenderOption();
 
	}
 
	/**
	 * Instanciation du service
	 * @return l'instance en cours du service
	 * @throws BirtException
	 */
	public static Edition getInstance() throws BirtException {
		if (m_Instance == null) {
			m_Instance = new Edition();
		}
		return m_Instance;
	}
 
	/**
	 * Initialisation
	 * @param etat nom du rptdesign
	 * @param chemin chemin et nom du fichier de sortie
	 * @param parametres paramètres à passer à l'état
	 * @param format format de sortie (PDF, XLS, DOC, etc.)
	 * @param langue langue de l'édition
	 */
	public void init(String etat, String chemin, Map<String, Object> parametres, String format, String langue) {
		this.etat = etat;
		this.chemin = chemin;
		this.parametres = parametres;
		this.format = format;
		this.langue = new Locale(langue);
	}
 
	/**
	 * Lancement de l'état
	 */
	public void run() {
		try {
			/* Récupération du rptDesign */
			IReportRunnable design = engine.openReportDesign(new File(etat).getAbsolutePath());
 
			/* Exécution */
			IRunTask runTask = engine.createRunTask(design);
 
			/* Paramètres */
			for (String clef : parametres.keySet()) {
				runTask.setParameterValue(clef, parametres.get(clef));
			}
 
			/* Langue */
			runTask.setLocale(langue);
 
			runTask.run(chemin+".rptdocument");
 
			/* Récupération du rptDocument */
			IReportDocument doc = engine.openReportDocument(chemin+".rptdocument");
 
			/* Rendu */
			IRenderTask renderTask = engine.createRenderTask(doc);
 
			option.setOutputFileName(chemin);//Nom du fichier de sortie
			option.setOutputFormat(format);//Format du fichier de sortie
 
			renderTask.setRenderOption(option);//Chargement du fichier
 
			renderTask.render();//Création du fichier
		}
		catch (EngineException e) {
			e.printStackTrace();
		}
	}
 
	/**
	 * Permet de détruire le moteur. Cette fonction n'est
	 * jamais utilisée mais pourrait l'être à l'avenir.
	 */
	public void destructeur() {
		engine.destroy();
	}
 
	public static void main( String[] args ) throws BirtException
	{
		//Map<String, Object> maListeDeParametres = null;
 
		Edition ed = Edition.getInstance(); //n'instancie qu'une seule fois le moteur pour éviter les problèmes de mémoire
 
		//ed.init("C:\\mon_etat.rptdesign", "C:\\mon_etat.pdf", maListeDeParametres,RenderOption.OUTPUT_FORMAT_PDF, "FRENCH"); //pour initialiser le service
		ed.init("C:\\hello_world.rptdesign", "C:\\hello_world.pdf", new HashMap<String, Object>(), RenderOption.OUTPUT_FORMAT_PDF, Locale.FRENCH.toString());
 
 
		ed.run(); //qui créera l'état dans le fichier mon_etat.pdf
	}
}

l'erreur :
Citation:
org.eclipse.birt.report.engine.api.EngineException: Can not open the report archive.
at org.eclipse.birt.report.engine.api.impl.RunTask.openReportDocument(RunTask.java:172)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:211)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
at Edition.run(Edition.java:106)
at Edition.main(Edition.java:144)
Caused by: java.io.FileNotFoundException: C:\hello_world.pdf.rptdocument (Accès refusé)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at java.io.RandomAccessFile.<init>(Unknown Source)
at org.eclipse.birt.core.archive.compound.v3.Ext2FileSystem.createFileSystem(Ext2FileSystem.java:177)
at org.eclipse.birt.core.archive.compound.v3.Ext2FileSystem.<init>(Ext2FileSystem.java:101)
at org.eclipse.birt.core.archive.compound.ArchiveFileV3.<init>(ArchiveFileV3.java:43)
at org.eclipse.birt.core.archive.compound.ArchiveFileV3.<init>(ArchiveFileV3.java:36)
at org.eclipse.birt.core.archive.compound.ArchiveFile.<init>(ArchiveFile.java:72)
at org.eclipse.birt.core.archive.compound.ArchiveFile.<init>(ArchiveFile.java:47)
at org.eclipse.birt.core.archive.compound.ArchiveWriter.<init>(ArchiveWriter.java:34)
at org.eclipse.birt.core.archive.FileArchiveWriter.<init>(FileArchiveWriter.java:27)
at org.eclipse.birt.report.engine.api.impl.RunTask.openArchive(RunTask.java:147)
at org.eclipse.birt.report.engine.api.impl.RunTask.openReportDocument(RunTask.java:158)
... 4 more

en tout cas merci beaucoup
droopy1080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 17h08   #12
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Merci pour le code, c'est moi qui l'ai écrit

Voici même un exemple de la nouvelle version (gestion des conflits et autres features pratiques) :
Code Java :
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
import java.util.Locale;
import java.util.Map;
 
import org.eclipse.birt.core.exception.BirtException;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.IRenderTask;
import org.eclipse.birt.report.engine.api.IReportDocument;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunTask;
import org.eclipse.birt.report.engine.api.RenderOption;
 
/**
 * Cette classe permet la génération dans n'importe quel format
 * de n'importe quelle édition.
 * Il faut d'abord l'instancier, puis on lance le rapport et on
 * fait le rendu.
 * Si nécessaire, cette classe peut être threadée facilement.
 * 
 * @author BiM
 *
 */
public final class Edition {
	private static final String ENGINE_PATH = "D:\\birt-runtime-2_6_1\\ReportEngine";
	private static final String REPORT_PATH = "C:\\MesRapports\\";
	private static Edition m_Instance = null;
	private IReportEngine engine;
 
	/**
	 * Constructeur.
	 * Il configure le moteur BIRT de sorte à ce qu'il puisse retrouver
	 * les ressources BIRT mais également les librairies le faisant tourner
	 * Il est alors démarré avec cette configuration.
	 * @throws BirtException
	 */
	private Edition() throws BirtException {
		EngineConfig config = new EngineConfig();
		config.setBIRTHome(ENGINE_PATH);
		Platform.startup(config);
		IReportEngineFactory factory = (IReportEngineFactory) Platform
			.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
		engine = factory.createReportEngine(config);
	}
 
	/**
	 * Instanciation du service.
	 * @return l'instance en cours du service
	 * @throws BirtException
	 */
	public static synchronized Edition getInstance() throws BirtException {
		if (m_Instance == null) {
			m_Instance = new Edition();
		}
		return m_Instance;
	}
 
	/**
	 * Génération de l'état.
	 * @param _input Nom du fichier d'entrée sans l'extension (rptdesign), le fichier de sortie portera le même nom
	 * @param _langue Locale pour définir la langue de génération du rapport
	 * @param _parameters Map contenant les paramètres du rapport sous la forme <Nom, Valeur>
	 * @throws EngineException 
	 */
	public synchronized void run(String _input, Locale _langue, Map<String, Object> _parameters) throws EngineException {
		this.run(_input, _input, _langue, _parameters);
	}
 
	/**
	 * Génération de l'état.
	 * @param _input Nom du fichier d'entrée sans l'extension (rptdesign)
	 * @param _output Nom du fichier de sortie sans l'extension (rptdocument)
	 * @param _langue Locale pour définir la langue de génération du rapport
	 * @param _parameters Map contenant les paramètres du rapport sous la forme <Nom, Valeur>
	 * @throws EngineException 
	 */
 	public synchronized void run(String _input, String _output, Locale _langue, Map<String, Object> _parameters) throws EngineException {
		IRunTask runTask = null;
		try {
			/* Récupération du rptDesign */
			IReportRunnable design = engine.openReportDesign(REPORT_PATH + _input + ".rptdesign");
 
			/* Création de la tâche d'éxécution */
			runTask = engine.createRunTask(design);
 
			/* Paramètres */
			runTask.setParameterValues(_parameters);
 
			/* Langue */
			runTask.setLocale(_langue);
 
			/* Exécution */
			runTask.run(REPORT_PATH + _output + ".rptdocument");
		}
		finally {
			if (runTask != null) {
				runTask.close();
			}
		}
	}
 
	/**
	 * Rendu de l'état.
	 * @param _input Nom du fichier d'entrée sans l'extension (rptdocument)
	 * @param _format Format de sortie du fichier
	 * @throws EngineException
	 */
 	public synchronized void render(String _input, String _format) throws EngineException {
 		this.render(_input, _input, _format);
 	}
 
	/**
	 * Rendu de l'état.
	 * @param _input Nom du fichier d'entrée sans l'extension (rptdocument), le fichier de sortie portera le même nom.
	 * @param _output Nom du fichier de sortie sans l'extension (format final)
	 * @param _format Format de sortie du fichier
	 * @throws EngineException
	 */
	public synchronized void render(String _input, String _output, String _format) throws EngineException {
		IReportDocument doc = null;
		IRenderTask renderTask = null;
		try {
			/* Création des options de rendu */
			IRenderOption option = new RenderOption();
 
			/* Fichier et format de sortie */
			option.setOutputFileName(REPORT_PATH + _output + "." + _format);
			option.setOutputFormat(_format);
 
			/* Récupération du rptDocument */
			doc = engine.openReportDocument(REPORT_PATH + _output + ".rptdocument");
 
			/* Rendu */
			renderTask = engine.createRenderTask(doc);
 
			/* Chargement des options de rendu */
			renderTask.setRenderOption(option);
 
			/* Création du fichier de rendu */
			renderTask.render();
		}
		finally {
			if (renderTask != null) {
				renderTask.close();
			}
			if (doc != null) {
				doc.close();
			}
		}
	}
 
	/**
	 * Permet de détruire le moteur de façon propre.
	 */
	public void destructeur() {
		engine.destroy();
		Platform.shutdown();
	}
}

Avec comme exemple d'utilisation :
Code Java :
1
2
3
4
5
6
7
8
9
10
11
try
{
	Edition ed = Edition.getInstance();
	ed.run("monRapport", Locale.FRENCH, new HashMap<String, Object>());
	ed.render("monRapport", "monRapportFinal", "pdf");
	ed.destructeur();
}
catch (BirtException e)
{
	e.printStackTrace();
}

Sinon dans le code que tu as, tu peux modifier le setOutputFilename(..) pour y rajouter l'extension du fichier de sortie automatiquement. Et passer le nom du fichier de sortie sans l'extension.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/02/2011, 11h42   #13
Invité de passage
 
Inscription : février 2011
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 19
Points : 0
Points : 0
Merci beaucoup
droopy1080 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 12h18.


 
 
 
 
Partenaires

Hébergement Web