liaison image entre php et pdf

Eléphanteau du PHP | 30 Messages

26 août 2010, 23:56

Bonsoir,

qu'elle est la méthode pour faire apparaitre une image dans un fichier pdf généré par du php?

Exemple: j'arrive à générer un fichier pdf mais j'ai juste le nom de l'image qui s'affiche au lieu de l'image en elle même.

voici le code:

Code : Tout sélectionner

$pdf->Cell(20,5,$data['photo'],0,1,'L');
sinon, j'ai essayé de mettre ce code:

Code : Tout sélectionner

$pdf->Image('./photo/image.jpg',10,8,20);

mais là, ce n'est pas le résultat que je cherche car cela me met l'image (image.jpg) :(

vu qu'il y a des noms et prénom sur ma base SQL, je cherche à faire correspondre le nom avec la photo donc j'ai essayé ce code:

Code : Tout sélectionner

$pdf->Image($data['photo'],10,20);
"photo" correspond à la table SQL qui contient le nom des photos

mais j'ai cette erreur:

Code : Tout sélectionner

Warning: getimagesize(image.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /home/xxx/xxx/xxx/xxx/trombi/pdf/fpdf.php on line 1498 FPDF error: Missing or incorrect image file: image.jpg
voici la ligne 1498:

Code : Tout sélectionner

$a=GetImageSize($file);
comment puis-je faire pour avoir l'image correspondante au nom en sachant que le nom est affiché grace à ce code:

Code : Tout sélectionner

$pdf->Cell(20,5,$data['photo'],0,1,'L');
Merci de votre aide :)

ps: je ne sais pas si j'ai été assez clair donc n'hésitez pas ;)

Eléphanteau du PHP | 30 Messages

29 août 2010, 18:26

Up,

personne ne pourrait m'aider? est ce trop dur?

ViPHP
ViPHP | 5462 Messages

31 août 2010, 03:28

problème de path c'est tout, regarde a quoi est égale $data['photo'] et ou se trouve le fichier par rapport au script

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 15:24

bonjour,

mes images se trouvent dans un dossier photo.

J'ai regardé mon code (et modifié pour essayer de trouver la solution) mais rien du tout :(

En ce qui concerne ce code :
$data['photo']
Il correspond au nom (champ photo) dans ma base sql, de la photo (importée dans le dossier "photo")

J'ai essayé ce code:
$pdf->image(20,5,'<img width="50%" height="50%" src=photo/'.$data['photo'].'>',0,1,'L');
mais j'ai cette erreur...

FPDF error: Unsupported image type: 1

Mes photos sont au format "JPG" donc je ne comprends vraiment pas le soucis et étant débutant, je patauge vraiment dans la semoule :(

Merci pour votre aide

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 15:31

oublie ton truc html ça n'a rien avoir

donne un exemple d'une valeur de $data['photo'];
ou se trouve le script que tu lance par rapport a l'image ?

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 16:06

donc voici le code:
	while($data = mysql_fetch_assoc($req)){
		$pdf->SetFont('Times','B',12);
		$pdf->SetTextColor(0,0,255);
		$pdf->Cell(190,5,$data['nomsousdir'],0,1,'L');
		$sql2 = "SELECT * FROM fiche where sousdir like'%".$data['sousdir']."%' AND poste != 'secrétaire' order by grade, nom, prenom";
		$req2 = mysql_query($sql2) or die('erreur SQL!<br>'.$sql2.'<br>'.mysql_error());
		$sql3 = "SELECT * FROM fiche where sousdir like'%".$data['sousdir']."%' AND poste = 'secrétaire'";
		$req3 = mysql_query($sql3) or die('erreur SQL!<br>'.$sql3.'<br>'.mysql_error());
		while($data = mysql_fetch_assoc($req2)){
			$teltemp = "015724".substr($data['tel'], 1);
			$pdf->SetFont('Times','B',10);
			$pdf->SetTextColor(0,0,0);
			$pdf->Cell(15,5,$data['grade'],0,0,'L');
			$pdf->Cell(75,5,$data['nom'].' '.$data['prenom'],0,0,'L');
			$pdf->Cell(20,5,$data['photo'],0,1,'L'); // j'ai essayé de mettre  $pdf->Image(20,5,$data['photo'],0,1,'L'); mais ça ne fonctionne pas
		}
ensuite, le script est dans le fichier listperso.php (qui contient ce morceau de code) et se trouve dans le dossier www/trombi/pdf

mes photos se trouvent dans le dossier www/trombi/photo

merci :)

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 16:12

si ton code est : www/trombi/pdf

et que tu cherches dans : photo/truc.jpp

il va allé chercher la : www/trombi/pdf/photo/truc.jpp

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 16:33

quand je mets:
$pdf->Cell(20,5,$data['photo'],0,1,'L');
le pdf s'ouvre bien mais j'ai le nom de la photo et non la photo en elle même :(

quand je mets:
$pdf->Image(20,5,$data['photo'],0,1,'L');
j'ai cette erreur:
FPDF error: Unsupported image type: 1
pour le test, j'ai créé un dossier "photo" dans le dossier "pdf"

pouaaa je sens que je suis pas loin, mais là je ne comprends pas :(

PS: mon format de photo est -> Nom_PRENOM.jpg
Modifié en dernier par sagittaire57 le 02 sept. 2010, 16:36, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 16:35

c'est pareil
il ira cherché dans
www/trombi/pdf/truc.jpp

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 16:50

après modification, j'ai mis:
$pdf->Cell(20,5,'./photo/'.$data['photo'],0,1,'L');
le pdf s'ouvre bien mais j'ai ça -> ./photo/NOM_PRENOM.jpg au lieu de la photo

Maintenant, quand je mets:
$pdf->Image(20,5,'./photo/'.$data['photo'],0,1,'L');


j'ai cette même erreur -> FPDF error: Unsupported image type: 1

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 17:06

normale, pour allé au dossier du dessus c'est 2 . (../)

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 17:25

j'ai déjà essayé mais même chose :(

Ce qui me chiffonne, c'est que je mets:
$pdf->Cell(20,5,'../photo/'.$data['photo'],0,1,'L');
il met le nom et prénom de la personne et en face, au lieu d'avoir la photo, il me met:
../photo/NOM_PRENOM.jpg 


mais en aucun cas, je vais avoir la photo :(

c'est un trombinoscope donc le fichier pdf sert de listing avec la photo des personnels devant leur NOM/PRENOM.

Quand j'importe une photo pour un personnel via php, il me met la "photo" dans le dossier "photo" et m'écrit le nom de la photo "NOM_PRENOM.jpg" dans le champs "photo" dans ma base SQL.

quand il n'y a pas de photo pour un personnel, il me mets:
../
donc c'est que c'est bon... j'ai essayé de mettre:
./
et c'est la même chose, il voit les photos correspondantes au nom et prénom mais ne me les affichent pas :(

je sens que je vais toucher le fond :(

PS: lorsque je change le cell en image, c'est toujours la même erreur -> FPDF error: Unsupported image type: 1

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 17:32

essayes de faire un simple de test a la main avec 1 seule image
sinon essaye de faire avec
realpath('../photo/'.$data['photo']);

Eléphanteau du PHP | 30 Messages

02 sept. 2010, 20:14

j'ai cette erreur:
Fatal error: Call to undefined method PDF::realpath() in /home/fordprob/www/trombi/pdf/listperso.php on line 52
la ligne 52 est:
$pdf->realpath(20,5,'../photo/'.$data['photo']);
grrrrrrr!!! :)

ViPHP
ViPHP | 5462 Messages

02 sept. 2010, 20:17

realpath c'est une fonction de php pas de fpdf...
$pdf->Cell(20,5,realpath('../photo/'.$data['photo']),0,1,'L');
t'as lu la doc de fpdf ?