Bonjour a tous,
j'essaie depuis quelque temps de perfectionner des fonctions FPDF comme je peux pour qu'elesl réponde a mes besoin.

je vous presente donc ma classe heritante de la classe FDPF

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
class PDF_MC_Table extends FPDF
{
var $widths;
var $aligns;
var $ProcessingTable=false;
var $aCols=array();
var $TableX;
var $HeaderColor;
var $RowColors;
var $ColorIndex;
var $tailleetih; // hauteur d'une cellule en mm
var $tailleetil; //largeur d'une cellule en mm
var $dessin;//reponse du dessin ou non d'une cellule
var $couleur;//couleur de la cellule
 
//setteur des variable
function SetDessin($rep)
	{
		if(empty($rep))
		{
			$this->dessin="faux";//sans argument, on affiche pas le cadre
		}
		else
		{
		 	$this->dessin=$rep;
		 	//permet d'avoir acces a la variable $dessin qui permet d'affiche ou non les contour d'une cellule
		}	
	}
 
	function SettailleL($largeur)
	{
		 $this->tailleetil=$largeur;
		 //permet d'avoir acces a la variable $tailleetil et de lui passer la valeur $largeur
	}	
 
	function SettailleH($hauteur)
	{
		 $this->tailleetih=$hauteur;
		 //permet d'avoir acces a la variable $tailleetih et de lui passer la valeur $hauteur
	}	 
 
 	function SetWidths($w)
    {
 
        //Tableau des largeurs de colonnes
		//$w=$w+5;
        $this->widths=$w;
 
    }
 
    function SetAligns($a)
    {
        //Tableau des alignements de colonnes
        $this->aligns=$a;
    } 
 
	function SetCouleur($coul)
    {
        //fond d'une cellule
       $this->couleur=$coul;
 
    }
 
 function Row($data, $tailleetih, $tailleetil, $dessin)
    {
		$this->SetDessin($dessin);	
		$this->SettailleH($tailleetih);
		$this->SettailleL($tailleetil);
 
 
        //Calcule la hauteur de la ligne
        $nb=0;
        for($i=0;$i<count($data);$i++)
            $nb=max($nb,$this->NbLines($this->widths[$i],$data[$i]));
        $h=8*$nb+10;
        //Effectue un saut de page si nécessaire
        $this->CheckPageBreak($h);
        //Dessine les cellules
        for($i=0;$i<count($data);$i++)
        {
            $w=$this->widths[$i];
            $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L';
            //Sauve la position courante
            $x=$this->GetX();
            $y=$this->GetY();
            //Dessine le cadre
			if($dessin=="vrai")
			{
				if(isset($couleur[$i]))
				{
					$cou=$this->$couleur[$i];
				}
				else
				{
					$cou=array(153,0,0);
				}
 
				$this->SetFillColor($cou);
				$this->SetLineWidth(0.4);
 
            	           $this->Rect($x,$y,$tailleetil,$tailleetih, 'FD');
 
			}	
            //Imprime le texte
 
            $this->MultiCell($w,5,$data[$i],0,$a,'0');
 
            //Repositionne à droite
            $this->SetXY($x+$w,$y);
        }
        //Va à la ligne
        $this->Ln($h);
    }    
}
$pdf=new PDF_MC_Table('P', 'mm', 'A4');//creation de l'objet
$pdf->AddPage();
 
//creation d'une cellule
$pdf->setXY(0, 25);
$pdf->SetWidths(array(210));
$pdf->SetAligns(array('C'));
$pdf->SetFillColor(255,255,255);
$pdf->Row(array('Edition de statistique'), 7, 210, 'faux');
 
//creation de plusieur cellule
$pdf->SetWidths(array(15,30,30,30,30,30,30,15));
$pdf->SetAligns(array('C','C','C','C','C','C','C','C'));
$pdf->SetCouleur(array('255,255,255','','','','','','','255,255,255'));
$pdf->Row(array('','reference ','marque ','modele ','type ','couleur d','Cout ',''), 12, 210, 'vrai');//creation de multicellules avec chacune des propriété propre
et donc le problème c'est que le setteur de couleur ne fonctionne pas alors qu'il est construit comme les autres setteur