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 |
Partager