Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2008, 11h25   #1
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 0
Points : 0
Par défaut [FPDF] Problème avec les couleurs de fond d'un tableau

Bonjour,

A l'aide du tutoriel n°5 du site www.fpdf.org , j'ai tenté de créer un fichier pdf contenant un tableau. Les lignes de ce tableau sont colorées alternativement : une bleue claire, une transparente.

Mon soucis est que sur la première page, tout fonctionne très bien, mais arrivé sur toutes les pages suivantes, mon bleu clair se transforme en noir !

Je vous joins mon code contenu dans PDF.php pour vous faire une idée :

Code :
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
	//Tableau coloré
	function FancyTable($header,$data,$taille_col)
	{
		$this->y=50;
	    //Couleurs, épaisseur du trait et police grasse
	    $this->SetFillColor('rgb',0.5,0.5,0.5);
	    $this->SetTextColor('rgb',1,1,1);
	    $this->SetLineWidth(.3);
	    $this->SetFont('','B');
	    //En-tête
		    for($i=0;$i<count($header);$i++)
   				$this->Cell($taille_col,7,$header[$i],1,0,'C',1);
   		$this->Ln(7);
    	//Restauration des couleurs et de la police
		$this->SetFillColor('rgb',0.88,0.92,1);
    	$this->SetTextColor('rgb',0,0);
    	$this->SetFont('');
    	//Données
    	$fill=0;
    	$i=0;
    	foreach($data as $row)
    	{
			if ($i == count($header)){
				$this->Ln(6);
    	   		$i=0;
    	   		$fill=!$fill;
    		}
			$this->Cell($taille_col,6,$row,'LR',0,'L',$fill);
    	    $i++;
    	}
 
	}
 
	function Ln($h='')
	{
		//Line feed; default value is last cell height
		$this->x=$this->_left_margin;
		if(is_string($h))
			$this->y+=$this->lasth;
		else
			$this->y+=$h;
	}
Merci par avance pour votre aide
bayer59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 16h38   #2
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 0
Points : 0
J'ai trouvé des éléments de réponse, mais ça n'est pas encore parfait !
En fait, il suffisait de déplacer les données concernant le design, dans la boucle, de telle sorte qu'à chaque tour de boucle, nous sommes sûrs d'avoir bien redéfini le design.
Le hic, c'est que toute page commençant par une case colorée se retrouve noire, par contre toutes les autres cases (de la même ligne et des autres) sont colorées comme je le souhaite !

Je vous joins le nouveau code

Code :
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
function FancyTable($header,$data,$taille_col)
	{
		$this->y=50;
	    //Couleurs, épaisseur du trait et police grasse
	    $this->SetFillColor('rgb',0.5,0.5,0.5);
	    $this->SetTextColor('rgb',1,1,1);
	    $this->SetLineWidth(.3);
	    $this->SetFont('','B');
	    //En-tête
		    for($i=0;$i<count($header);$i++)
   				$this->Cell($taille_col,7,$header[$i],1,0,'C',1);
   		$this->Ln(7);
    	//Données
    	$fill=0;
    	$i=0;
    	foreach($data as $row)
    	{
			$this->SetFillColor('rgb',0.88,0.92,1);
    		$this->SetTextColor('rgb',0,0);
    		$this->SetFont('');
			if ($i == count($header)){
				$this->Ln(6);
    	   		$i=0;
    	   		$fill=!$fill;
    		}
			$this->Cell($taille_col,6,substr($row,0,$taille_col/2),'LR',0,'L',$fill);
    	    $i++;
    	}
    	$this->Ln(6);
    	$this->Cell($taille_col*count($header),0,'','T');
 
	}
bayer59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h37.


 
 
 
 
Partenaires

Hébergement Web