IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

[2.2.0] graphiques visibles dans eclipse et pdf mais pas "ailleurs"


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 22
    Points : 19
    Points
    19
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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....

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    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 796
    Points : 10 765
    Points
    10 765
    Par défaut
    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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/05/2008, 18h03
  2. Champ présent dans une table Firebird mais pas dans TIBDataSet
    Par Mirmillon dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/12/2007, 01h41
  3. script qui marche dans la console firebug mais pas a l'execution
    Par xclam dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/05/2007, 13h16
  4. Réponses: 11
    Dernier message: 09/04/2006, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo