IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Problème avec les couleurs de fond d'un tableau


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 3
    Points
    3
    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 : 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
    	//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

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    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 : 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
    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');
     
    	}

Discussions similaires

  1. Urxvt, problème avec les couleurs
    Par EpiTouille dans le forum Linux
    Réponses: 1
    Dernier message: 02/03/2013, 14h24
  2. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  3. [FPDF] Problème avec la couleur de fond
    Par HwRZxLc4 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/05/2007, 23h25
  4. VLC - Problème avec les couleurs
    Par Franck.H dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 24/10/2006, 14h54
  5. [JTable] Problème avec la couleur de fond
    Par ellocin dans le forum Composants
    Réponses: 5
    Dernier message: 13/09/2005, 23h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo