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/06/2008, 14h44   #1
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 114
Points : 30
Points : 30
Envoyer un message via MSN à Foub
Par défaut Afficher une image dynamique dans un rapport

Bonjour,

je n'arrive pas à afficher dans mon rapport une image transmise en paramètre (BufferedImage).

Code :
1
2
3
4
5
6
7
8
9
10
 
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
 
// Passage de paramètres au rapport
Map<String, Object> parametres = new HashMap<String, Object>();
 
// img3 est une instance de BufferedImage
parametres.put("monImage", img3);
parametres.put("monTitre", "Un test...");
task.setParameterValues(parametres);
Dans mon état Birt, en utilisant le composant Data, j'arrive à faire afficher :
* Un test...
* et pour l'image : "BufferedImage@15e00b7: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space
= java.awt.color.ICC_ColorSpace@81018b transparency = 1 has alpha = false isAlphaPre = false
ByteInterleavedRaster: width = 2000 height = 1500 #numDataElements 3 dataOff[0] = 2"

Par contre, si j'utilise le composant "Image", je n'arrive pas à lui indiquer d'utiliser le paramètre "monImage" et à lui faire afficher cette image.
J'ai essayé d'aller sur l'onglet "Liaison" du composant Image et de rajouter un "Data Column Binding", en déclarant : "Liaison de colonne, Type de données : Indifférent, expression : params["monImage"]"...

Ensuite, dans les propriétés avancées de l'image, j'ai mis : "source : expr, taille : size-to-image" mais sans succès.

Voici la stack trace de l'erreur que j'obtiens :
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
[Configuration du moteur BIRT]............OK
21 juin 2008 14:38:48 org.eclipse.birt.report.model.parser.ModuleReader readModule
GRAVE: Line Number:233 Error Code:Error.XMLParserException.EXCEPTION Exception:org.eclipse.birt.report.model.parser.DesignParserException: The image reference expression value is invalid. Message:A generic exception occurred. 
[Lecture de l'état BIRT]........FAILEDThe design file file:/C:/workspace/TestImpression/reports/monRapport.rptdesign has error and can not be run.
[Lecture de l'état BIRT]................OK
21 juin 2008 14:38:48 org.eclipse.birt.report.engine.api.impl.ReportEngineHelper openReportDesign
GRAVE: invalid design file file:/C:/workspace/TestImpression/reports/monRapport.rptdesign
[Configuration du moteur de rendu]......OK
[Configuration du fichier de sortie]....OK
[Début de l'execution de la transfo.]...OK
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at org.eclipse.birt.report.engine.api.impl.EngineTask.doValidateParameters(EngineTask.java:497)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:79)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:68)
	at LanceurTestImpression$3.actionPerformed(LanceurTestImpression.java:279)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
C'est grave docteur ?
Comment fait-on pour afficher une image dynamique transmise en paramètre d'un état Birt ?

Merci beaucoup pour votre aide.
F.
Foub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2008, 16h02   #2
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 114
Points : 30
Points : 30
Envoyer un message via MSN à Foub
Foub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 14h37   #3
Invité régulier
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 6
Points : 6
Essaie ça :

Code :
parametres.put(IDeviceRenderer.GRAPHICS_CONTEXT, img3.getGraphics( ));
Stephane73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2008, 21h22   #4
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 114
Points : 30
Points : 30
Envoyer un message via MSN à Foub
non malheureusement, cette solution ne marche pas non plus.
Il ne se passe rien :-('

:-(

:-(

Comment fait-on pour afficher une image dynamique transmise en paramètre avec Birt ?
Foub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2008, 22h24   #5
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,

Pourquoi ne pas passer tout simplement l'adresse de l'image ?
Tu crées une image temporaire et tu l'affiches.
Tu l'effaces ensuite.
__________________
__~{@ 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
Vieux 01/07/2008, 22h51   #6
Nouveau Membre du Club
 
Inscription : août 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 114
Points : 30
Points : 30
Envoyer un message via MSN à Foub
pour une question de résolution : jamais mon image sera stockée en 300 DPI.
Foub 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 03h04.


 
 
 
 
Partenaires

Hébergement Web