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 21/09/2007, 17h45   #1
Invité régulier
 
Inscription : juin 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 22
Points : 7
Points : 7
Par défaut [2.2.0] graphiques visibles dans eclipse et pdf mais pas "ailleurs"

Salut !
comme pas mal de gens je tente l'aventure birt. et comme beaucoup j'ai un souci s

je suis sous eclipse europa et birt 2.2.0. Je développe une appli tres simple pour tomcat qui affiche un état en html ou en pdf. pas de soucis pour faire le design, le lien avec la bd. J'ai codé une servlet qui affiche soit en pdf soit en html le rapport. Mon soucis est que sous eclipse (en débuggage ou autre) cela fonctionne sans probleme, les états sont générés avec graphique et tableau. Je passe sous firefox et zou je consulte le premier état en pdf ca roule. Je passe à l'état en html et... plus de graphique, tout y est sauf le graphique! je passe sous IE, le pdf n'est pas reconnu et le html n'affiche pas le graphique et laisse meme un espace pour lui (un peu comme si la source de l'image est absente).

Voici le bout de code de la servlet :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
 
		String paramSortie = request.getParameter("vue_sortie");
		if (paramSortie==null) {paramSortie = "html";}
 
		if(paramSortie.equals("html")) { response.setContentType("text/html"); }
		else { response.setContentType("application/pdf");}
 
        ServletOutputStream servletOutputStream = response.getOutputStream();
 
		try {
		 EditionPDF edition = EditionPDF.getInstance();
		 edition.init("new_report_2", "reports", new HashMap(), paramSortie, servletOutputStream );
		 edition.run();
         servletOutputStream.flush();
         servletOutputStream.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
La classe EditionPDF s'inspire des posts de BIM (merci) :
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
63
64
65
66
67
68
69
70
71
72
73
 
public class EditionPDF {
 
	private static EditionPDF m_Instance = null;
	private IReportEngine engine;
	private String realPath;
	private IRenderOption option;
	private String etat;
	private String chemin;
	private HashMap parametres;
	private String format;
	private Locale langue;
	private OutputStream flux;
 
	private EditionPDF() throws BirtException {
		EngineConfig config = new EngineConfig();
		realPath ="F:\\dev\\eclipse workspace\\hello\\WebContent\\";
 
		config.setEngineHome("F:\\dev\\eclipse workspace\\hello\\WebContent\\WEB-INF\\ReportEngine");
 
 
		Platform.startup(config);
 
		IReportEngineFactory factory = (IReportEngineFactory) Platform
				.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
		engine = factory.createReportEngine(config);
		option = new RenderOption();
		HTMLCompleteImageHandler imageHandler = new HTMLCompleteImageHandler();
		option.setImageHandler(imageHandler);
		option.setSupportedImageFormats("JPG;BMP;SVG;PNG");
		option.setOutputStream(flux);
	}
 
	public static EditionPDF getInstance() throws BirtException {
		if (m_Instance == null)
			m_Instance = new EditionPDF();
		return m_Instance;
	}
 
	public void init(String etat, String chemin,
			HashMap parametres, String format, OutputStream flux) {
		this.etat = etat;
		this.chemin = chemin;
		this.parametres = parametres;
		this.format = format;
		this.flux = flux;
	}
 
	public void run() {
		try {
			IReportRunnable design = engine.openReportDesign(new File(realPath,
					"WEB-INF/reports/" + etat + ".rptdesign").getAbsolutePath());
			IRunAndRenderTask task = engine.createRunAndRenderTask(design); // Crée
			task.setParameterValue("realPath", realPath);
 
			/* Création PDF */
//			option.setOutputFileName(chemin); // Nom du fichier de sortie
			option.setOutputStream(flux);
 
			option.setOutputFormat(format); // Format du fichier de sortie
//			task.setLocale(langue);
			task.setRenderOption(option); // Chargement du fichier
			/* Fin création PDF */
 
			task.run(); // Création du fichier
		} catch (EngineException e) {
			e.printStackTrace();
		}
	}
 
	public void destructeur() {
		engine.destroy();
	}

voilou...je me suis pas "amusé" à écrire proprement les chemins pour accéder au reportengine.

si vous avez des idées....
uetac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 18h48   #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
Salut !

Ben... de rien

En fait, je pense que tu as fait comme la personne de ce sujet : http://www.developpez.net/forums/sho...d.php?t=212637

Tu as du oublié la partie du moteur pour les Charts
http://www.developpez.net/forums/sho...d.php?t=212637 > Chart Engine
__________________
__~{@ 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 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h02.


 
 
 
 
Partenaires

Hébergement Web