PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-05-2014 11:32:36

ggmessi
Membre
Inscription : 28-05-2013
Messages : 21

impression d'une image png en php

Bonjour ,

je voulais imprimer des images de format png en php directement en passant par un bouton mais ça ne marche pas j'ai utilisé la fonction print_write de la librairie php_printer.dll mais rien.

quelqu'un aurait il une solution.

Merci d'avance .

Hors ligne

#2 13-05-2014 12:30:38

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : impression d'une image png en php

Saluton,

Comme il est dit dans notre Charte "ça ne marche pas" n'a jamais constitué un diagnostic très utile au dépannage.

Et comme le disait mon maître ès programmation "bien poser le problème c'est, souvent, déjà le résoudre".

Alors n'hésite pas à nous donner plus de détails : messages d'erreurs, exemples, liens, etc.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 13-05-2014 13:28:54

ggmessi
Membre
Inscription : 28-05-2013
Messages : 21

Re : impression d'une image png en php

Merci . au fait j'arrive à imprimer mais au lieu d'imprimer l'image il imprime juste le nom de l'image.
Ayant pousser mes recherches j'ai trouvé une solution qui consiste à transformer le fichier en pdf avec mes images et de d'appeler mon fichier par le print_write.
Maintenant j'aimerais savoir comment généré un pdf avec des images en php

Hors ligne

#4 13-05-2014 13:57:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : impression d'une image png en php

Il existe de nombreuses classes implémentées en PHP et générant des sorties au format pdf.

Notamment FPDF.

Mais c'est peut-être chargé inutilement le serveur que de créer des fichiers PDF assez volumineux juste pour imprimer des images.

Mais sans voir le script à l'origine de l'impression du nom de l'image plutôt que l'image elle-même il nous sera difficile de t'orienter.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 13-05-2014 14:21:32

ggmessi
Membre
Inscription : 28-05-2013
Messages : 21

Re : impression d'une image png en php

voici mon code :

<?php

$dossier = opendir("images/") or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant; // Ouvre le dossier contenant les images

if($dossier == true ){


    echo "repertoire ouvert";
}
while (false !== ($f = readdir($dossier))) {
       

if (pathinfo($f,PATHINFO_EXTENSION) == 'jpg'){

$listephotos[] = $f; // Ajoute la photo

//print_r($listephotos[$i]);

}
}


$handle = printer_open("HP Photosmart 5520 series");
$handle  =  printer_open();




closedir($dossier); // On n'a plus besoin du dossier
sort($listephotos); // Trie par ordre alphabétique
// Et maintenant, on affiche.
foreach($listephotos as $nom){

printer_write($handle, "$nom);

//echo '<img src="images/'.$nom.'"><br>'.$nom.'<br><br>'; // Le nom de la photo + un retour à la ligne

}

printer_close();

?>

Hors ligne

#6 13-05-2014 14:46:28

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : impression d'une image png en php

Sans approfondir beaucoup, je remarque déjà une apparente incohérence entre ton message intial :

ggmessi a écrit :

je voulais imprimer des images de format png

et ce script

if (pathinfo($f,PATHINFO_EXTENSION) == 'jpg'

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 13-05-2014 15:03:34

ggmessi
Membre
Inscription : 28-05-2013
Messages : 21

Re : impression d'une image png en php

wé je m'étais trompé  labas c'est corrigé maintenant mais j'ai toujours la meme chose.

Hors ligne

#8 13-05-2014 19:19:05

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : impression d'une image png en php

Bonjour,

Conformément à la documentation officielle de php, sur la fonction printer_write si vous demandez à php, d'imprimer du texte, c'est ce qu'il fera. Or dans cette bibliothèque seule la fonction printer_draw_bmp se rapproche de ce que vous voulez faire, mais avec des images au format bmp et non png malheureusement.

Afin, de rester dans la continuité de ce que vous a proposé MK, à savoir rester simple pour faire des choses simples, je vous conseille de vous orienter vers la bibliothèque GD de php

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#9 13-05-2014 20:35:05

ggmessi
Membre
Inscription : 28-05-2013
Messages : 21

Re : impression d'une image png en php

ok merci. j'ai essayé maintenant de faire ce que vous aviez dit avec la fonction print_draw_bmp en transformant mes images en bmp avant de les imprimer mais j'ai autre souci car l'impression se lance biien mais j'ai une page vierge et cette erreur  qui s'affiche : Failed to load bitmap 537273812cf3f.bmp in ... on line 23

<?php



$im = imagecreatefrompng('jo.png');


var_dump($im);


$randomName = uniqid().'.bmp';
  var_dump($randomName);


imagewbmp($im,$randomName);


$handle = printer_open("HP Photosmart 5520 series");
printer_start_doc($handle, "My Document");
printer_start_page($handle);


printer_draw_bmp($handle,$randomName, 1 , 1  , 800 , 500);
printer_end_page($handle);
printer_end_doc($handle);
printer_close ($handle);

unlink($randomName);



?>

Hors ligne

#10 14-05-2014 14:42:44

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : impression d'une image png en php

Bonjour,

Houla, alors je pense qu'il est temps de faire une piqûre de rappel à nos chers lecteurs au niveau technique, parce que là tout est mélangé^^.

1) a) PHP est un script qui s'exécute du côté serveur, et par conséquent toute fonction d'impression côté serveur ne pourra et ne sera capable d'accéder seulement qu'aux imprimantes connectées au serveur. Dans ce contexte sauf à installer un serveur  en local sur votre machine, vous ne pourrez imprimer de cette façon là sur votre imprimante.
1) b) Dans le cas où vous avez votre serveur installé en local (wamp, etc...) il faut bien comprendre, que l'on ne peut imprimer une image qu'une fois celle-ci ouverte et chargée en mémoire, auquel cas son handle devra être passé à la fonction d'impression pour être imprimé.

2) Dans un contexte classique (serveur distant), il faudra afficher en local votre image et imprimer la page qui l'affiche en javascript avec un simple window.print();
Si l'on veut imprimer l'image seule dans la taille souhaité, il suffira par exemple sur clic de la miniature de l'image à imprimer d'ouvrir une infobulle ou une boîte de dialogue contenant l'image d'origine seule qu'il suffira d'imprimer.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums