Bonjour,
Je veux mettre une image dans une cellule.
J'ai suivi les instructions de super-manu, mais j'ai toujours les images sur la dernière page.
J'ai dans mon script ajouté :
Dans la classe phpToPDF DrawTableau (en rouge) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $proprieteContenu = array( 'IMAGE' => '1', 'T_COLOR' => array(0,0,0), 'T_SIZE' => 7,
Dans la classe phpToPDF Draw_Data (en rouge) vers la fin de la fonction :
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 //********************************************************************* // Ce qui suit est valable pour toutes les cellules du tableau (hors header bien entendu). //********************************************************************* $data = Array(); for ($i=0 ; $i<count($datas) ; $i+=$nbCol) { //********************************************************************* // Ce qui suit est valable pour la première colonne du tableau //********************************************************************* // si l'utilisateur a précisé un alignement pour la première colonne, on l'applique ici if (isset($datasType['T_ALIGN_COL0'])) $data[0]['T_ALIGN'] = $datasType['T_ALIGN_COL0']; // Si l'utilisateur a précisé une couleur de fond pour la première colonne, on l'applique ici. if (isset($datasType['BG_COLOR_COL0'])) $data[0]['BG_COLOR'] = $datasType['BG_COLOR_COL0']; for ($j=$i ; $j<$i+$nbCol ; $j++) { $k = $j-$i; $data[$k]['TEXT'] = $datas[$j]; $data[$k]['T_SIZE'] = $datasType['T_SIZE']; $data[$k]['LN_SIZE'] = $datasType['LN_SIZE']; // par défaut, le texte est centré à gauche, non italic, non souligné et non gras. // par défaut, les cellules ne sont pas fusionnées. $data[$k]['T_TYPE'] = ''; $data[$k]['T_ALIGN'] = ''; $data[$k]['COLSPAN'] = "1"; // Si l'utilisateur à prévu l'insertion d'image if (isset($datasType['IMAGE'])) $data[0]['IMAGE'] = $tagImage[$i];
Et à nouveau dans mon script au moment où je souhaite imprimer le résultat :
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 //if we have colspan, just ignore the next cells if (isset($data[$i]['COLSPAN'])){ $i = $i + (int)$data[$i]['COLSPAN'] - 1; } // Pour la gestion des images if($data[$i]['IMAGE']) $this->Image($data[$i]['IMAGE'], $x+1, $y+1); } $this->Data_On_Current_Page = true; //Go to the next line $this->Ln($h); }
M'est avis, c'est juste un avis, qu'il y a comme un problème quelque part, mais je pense avoir tout suivi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if(!empty($contenuTableau)) { $pdf->drawTableau($pdf, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau); $i=0; foreach($pdf->posY as $value) { foreach($value as $position) { if(!empty($images[$i])) $pdf->Image($href.$images[$i], $pdf->posX, $position, '', 5); $i++; } } }
Quelque chose vous saute aux yeux ?
Merci d'avance.
Partager