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

Bibliothèques et frameworks PHP Discussion :

[PEAR] insertBitmap


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut [PEAR] insertBitmap
    Bonjour,
    J'aimerais afficher l'image d'un graphe dans un fichier excel qui contient aussi des tableaux: dans quelle partie du code faut mettre la ligne:

    $worksheet->insertBitmap(0,0,'Graph.bmp') ;

    ça m'a paru logique de la mettre dans la fonction createSheet..un peu en dessous de la ligne:

    $workbook = new Spreadsheet_Excel_Writer();

    mais cela ne marche pas, j'ai l'erreur suivante: (au fait c'est un warning)
    <b>Warning</b>: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for Graph.bmp in <b>C:\wamp\bin\php\php5.2.6\PEAR\Spreadsheet\Excel\Writer\Worksheet.php</b> on line <b>3375</b><br />

    Il me semble que c'est un problème de path...


    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    On peux voir un peu de code ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Bonjour;

    C'était justement un problème de path.
    Mais la situation n'est pas du tout réglée, car je testais avec une image en format bmp que j'ai téléchargé.
    La question que j'aimerais poser est la suivante:

    Comment envoyer directement depuis le fichier PHP des données brutes formatées en Bitmap?
    Je crée un graphe en utilisant le spreadSheet_Excel_Writer, et j'aimerais que ce graphe apparaisse en bmp dans mon fichier Excel, comment faire?

    Merci pour votre aide!

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Si vous faites une fonction qui génère cette image, vous ne pouvez pas envoyer cette fonction dans l'insertion d'image de spreadsheet ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    A vrai dire, je ne connais pas la fonction qu'il faut mettre pour générer l'image. Normalement, lorsque je teste, l'URL génère l'image en temps réel en fonction des paramètres et envoie les données brutes au navigateur qui l'interprète comme une image.
    le graphe n'est pas généré en bmp...il est p 'etre en png ou jpeg.
    Donc, il faut p'etre mettre une fonction comme celle-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function LoadJpeg($Image_Graph) 
    {
        $im = @imagecreatefromjpeg($Image_Graph); 
        header("Content-Type: image/jpeg");
    	imagebmp($im) ;
     
    et puis il y a les lignes:
     
    $worksheet =& $workbook->addWorksheet();
    $bitmap = "../../Pictures/Image_Graph.bmp";
    $worksheet->insertBitmap(0, 0, $bitmap, 0, 0, 1, 1);

    Comment faire pour combiner tout ce code, et réussir à mettre l'image ds le graphe?

    Merci.

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Effectivement c'est de la librairie gd, regarde comment enregistrer ton image dans une répertoire temporaire, et ouis l'appeler dans ta génération du fichier Excel

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Oui, il y a cette option, mais les personnes avec qui je travaille ne veulent pas que je l'enregistre temporairement!!

    Comment procéder sinon?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    J'ai mis un bout de code qui m'a paru logique en utilisant la librairie JpGraph dans le spreadSheet(il n'est pas tout à fait le mien; une partie est prise du net):

    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
      $im=$graph->Stroke(_IMG_HANDLER); 
        $filename="chart"; 
        $file_type = "image/png"; 
        $file_ending = "png"; 
        $filename=$filename.".".$file_ending; 
        header("Content-Type: application/$file_type"); 
        header("Content-Disposition: attachment; filename=".$filename); 
        header("Pragma: no-cache"); header("Expires: 0"); 
        ImagePNG($im); 
     
    Cette première partie est insérée dans la fonction qui crée le graphe.
    Puis la fonction suivante:
     
         function LoadPng($im) 
    		{
     
             $bitmap = @imagecreatefrompng($im); 
             header("Content-Type: image/png");
             imagebmp($bitmap) ;
     
    	$worksheet =& $workbook->addWorksheet();
    	$worksheet->insertBitmap(26, 1, $bitmap, 0, 0, 1, 1);
     
    		}
    La première partie consiste à créer l'image en png, puis la 2ème sert à la convertir puis l'insérer en bitmap

    Mais cela ne marche pas!!

  9. #9
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Une question, tu affiches dans OpenOffice, ou Excel ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'affiche dans excel.

  11. #11
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    En dehors du code, vous arriver à afficher votre image?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Non..j'y arrive pas!!

    je pense que je ne pourrais l'afficher que si elle en format bitmap!!

  13. #13
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    ben avant de l'envoyer dans le fichier excel, faudrais être sur de pouvoir l'afficher dans un navigateur, voir si le résultat donne quelque chose

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Oui, ça marche, car c'est mon collègue qui a fait l'ensemble du code de ce fichier .php, et il arrive à afficher l'image sur le navigateur.
    Ce que j'essaie d'ajouter moi qui marche pas (l'afficher sur excel je veux dire!)

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    je viens de vérifier et ça marche (l'affichage sur le navigateur)!!
    mais celui sur excel persiste toujours

  16. #16
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Alors je viens de faire des essais.

    Tu ne pourras pas afficher une image, si tu ne l'enregistre pas avant, parce que insertBmp , utilise la function fopen.

    Voila.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Si je comprends bien , je dois utiliser l'autre option(stocker l'image temporairement), c ça?

    J'ai parcouru la doc ce matin, et j'ai trouvé la librairie de Jpgraph, mais je ne sais pas si c judicieux de tout recréer en utilisant celle ci, et si c possible de la combiner à spreadSheet pour l'affichage en excel?

  18. #18
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    il existe aussi Artichow

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Merci pour ta réponse!

    J'ai adopté la première solution, mais j'ai un souci pour stocker l'image!

    j'ai mis mon code dans le post [fopen et fwrite].

  20. #20
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    je viens de penser à toi,

    ceci te conviendra peut-être?

    http://stephaneey.developpez.com/tutoriel/php/phpexcel/

Discussions similaires

  1. [PEAR][HTML_QuickForm] Problème étrange
    Par jeanvincent dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/09/2005, 17h27
  2. [PEAR][DB] Equivalent de la fonction "mysql_field_name()
    Par o151181 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/09/2005, 17h16
  3. [DOM XML] XPath, Pear, Evaluation Querystring
    Par Bernard Grosdoy dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/09/2005, 15h12
  4. [PEAR][HTML_QuickForm] Avoir une advcheckbox présélectionnée ?
    Par KneXtasY dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/05/2005, 11h00
  5. [PEAR][DB] Pourquoi lance-t-il des EXPLAIN ?
    Par Alexandre T dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/10/2004, 09h44

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