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.1][API] Récupérer le path des images générées (charts)


Sujet :

BIRT

  1. #1
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut [2.2.1][API] Récupérer le path des images générées (charts)
    Bonjour,

    Je souhaite utiliser BIRT principalement pour générer des graphiques (charts). J'arrive sans problème à partir d'un template à générer le HTML et les images associées.

    Le problème est que le nom de ces images est alléatoire, et je ne trouve pas le moyen de les récupérer. Je suppose que c'est dans le HTMLImageHandler mais j'ai tjs rien trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    HTMLRenderOption options = new HTMLRenderOption();
    options.setBaseURL("http://localhost/");
    options.setBaseImageURL("http://localhost/");
    options.setImageDirectory("C:/temp/images/");
    options.setSupportedImageFormats("JPG;PNG;BMP");
    options.setOutputFileName("C:/temp/temp.html");
    options.setImageHandler(new HTMLServerImageHandler());
     
    task.setRenderOption(options);
     
    task.run();
    // ...
    Au final j'obtient par exemple custom19050a01163e97208a1.png, nom que je voudrais récupérer dans mon code.


    Question facultative
    : est-il possible de générer les charts sans le code HTML (donc uniquement les images)

  2. #2
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut
    Bon, pour info j'ai trouvé une solution qui exploite le HTMLServerImageHandler. Il faut créer ca propre classe de gestion des images, car toutes les méthodes utiles sont encapsulées.

    Par exemple pour récupérer l'URL des images :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class TestHandler extends HTMLServerImageHandler {
     
        protected String handleImage(IImage image, Object context, String prefix, boolean needMap) {
            String path = super.handleImage(image, context, prefix, needMap);
     
            // exploitation du path ...
     
            return path;
        }
    }
    Et dans le code chargé de rendre le rapport, il suffit de modifier les options HTML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HTMLRenderOption options = new HTMLRenderOption();
    // autres options... 
    options.setImageHandler(new TestHandler());

Discussions similaires

  1. Récupérer code source des images d'un flux rss
    Par totof49 dans le forum Langage
    Réponses: 2
    Dernier message: 29/07/2009, 11h48
  2. Réponses: 3
    Dernier message: 08/08/2008, 20h14
  3. Récupérer les paths des fichiers d'un dossier
    Par damdam44 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/06/2008, 16h07
  4. [Hudson] Remote API : récupérer l'historique des builds
    Par sleepy2002 dans le forum Intégration Continue
    Réponses: 6
    Dernier message: 23/05/2008, 16h46
  5. [MySQL] récupérer les dimensions des images dans une boucle while
    Par Navyel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/08/2007, 11h09

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