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] Mettre en couleur le texte


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut [FPDF] Mettre en couleur le texte
    Bonjour à tous,

    je test l’extension fpdf, j'arrive a mettre en forme les informations.

    Mais je bloque je voudrais mettre en couleur soit le text ou bien le fond contenu dans une multicell

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->MultiCell(180,10,"Joindre ce document à BC #".$list2["id_bc"],1, "C",1);
    Mais je n'y arrive pas a chaque fois je vois $this->SetTextColor(0,0,0);

    Comment réaliser a mettre de la couleur ?

    guigui69

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

    as tu essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $pdf->SetTextColor(255, 0, 0);
    $pdf->MultiCell(180,10,"Joindre ce document à BC #".$list2["id_bc"],1, "C",1);
    ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Merci pour ta réponse, justement je pense avoir trouvé, je pense que c'est je regarde cela.

    J'aurai une autre question,

    j'arrive a afficher mon PDF, mais dans le cas une j'ai besoin d'une seconde page (extraction d'information de ma base) cela affiche la seconde page pdf avec la suite de mon tableau.

    Je voudrait répéter le haut du document de la premier page exemple (nom societe adresse) est-ce possible ?

    guigui69

  4. #4
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Oui, voir du coté de la methode header()

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Merci,

    justement c'est ce que j'ai fait cela semble bon mais j'ai un probleme.

    si le document pdf a plusieurs page cela decale le tableau sur les feuille suivantes (de 2 à ....)

    exemple: je généré mon fichier PDF, la premier page OK, mais a partir de la seconde le tableau est décalé tout en bas (le Header est toujours ok).


    http://hpics.li/84d07eb


    Quelle parametre j'ai omis de rajouter pour recommencer à la bonne hauteur

    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
     
    <?php
     
    require('php/fpdf/fpdf.php');
    include("php/mysql_table.php");
    include("php/fonction.bdd.php");
    if(isset($_GET["id_bc"]))
    {
    $id_bc=$_GET["id_bc"];
    //
    }
    {
     
    }
     
    connexion_mysql();
     
     
    class PDF extends PDF_MySQL_Table
    {
    function Header()
    {
    	//Titre
    $id_bc=$_GET["id_bc"];
    	$this->SetFont('Arial','',11);
    	$this->Image('img/marque.png',10,6,170,14);
    	$this->Ln(10);
    	$sql= "
    SELECT bc.id_bc, u.nom AS nom, u.prenom AS prenom, date_format( bc.date, '%d/%m/%Y' ) AS date, s.nom AS societe, s.adresse AS asociete, s.ville AS sville, s.cp AS scp, s.siret AS siret, c.nom AS cnom, c.adresse AS cadresse, c.ville AS cville, c.cp AS ccp, c.tel AS ctel, c.fax AS cfax, uv.nom AS uvnom, uv.prenom AS uvprenom, date_format(bc.date_users_valid, '%d/%m/%Y') as datevalider, bc.remarque,FORMAT(SUM(bca.qte),2) as qte_total, FORMAT(SUM(bca.prix_unitaire),2) as prix_total
    FROM boncommande bc
    INNER JOIN boncommande_article bca ON bca.id_bc=bc.id_bc
    INNER JOIN users u ON bc.id_users = u.id_users
    INNER JOIN societe s ON bc.id_societe = s.id_societe
    INNER JOIN concessions c ON bc.id_concessions = c.id_concessions
    INNER JOIN users uv ON bc.id_users_valid = uv.id_users
    WHERE bc.id_bc = '".$id_bc."'";
    //echo $sql;
    $query= mysql_query($sql) or die('erreur');
    $list2 = mysql_fetch_array( $query ); 
    				// echo '
    				// <tr><td>N°Bon Commande</td><td><input type="text" name="id_bc" value="'.$list2["id_bc"].'" readonly="readonly""/></td></tr>
    				// <tr><td>Utilisateur</td><td>'.$list2["nom"].''.$list2["prenom"].'</td></tr>
    				// <tr><td>date</td><td>'.$list2["date"].'</td></tr>
    				// <tr><td>Société</td><td>'.$list2["societe"].'</td></tr>
    				// <tr><td>Concession</td><td>'.$list2["concession"].'</td></tr>
    				// ';
     
     
     
    	$this->SetFillColor(150);
    	$this->SetFont('');
    $this->RoundedRect(10, 25, 70, 20, 3.5, 'FD');
    	$this->SetXY( 10, 25);
    $this->MultiCell(70,5,$list2["societe"]."\n".$list2["cnom"]. "\n".$list2["cadresse"]."\n".$list2["ccp"]." ". $list2["cville"] ." ",0);	
    		$this->SetFillColor(127);
    $this->RoundedRect(125, 25, 70, 10, 3.5, 'FD');
    	$this->SetXY( 125, 27);
    $this->MultiCell(70,5," BON DE COMMANDE N°#",0);	
    				$this->Ln();	
    $this->SetFillColor(225);
    $this->RoundedRect(125, 50, 70, 20, 3.5, 'FD');
     
    				$this->SetXY( 125, 50);
    			$this->MultiCell(70,5,"aaaaaaaaaaaaaaaaaaaaaaaaaa\n aaaaaaaaaaaaaaaaaaaaa\n aaaaaa\n eeeeeeeeeeeeeeeeeeeeeeeee \n",0);
    $this->Ln();	
    	$this->SetFillColor(225);
    $this->RoundedRect(10, 75, 180, 10, 3.5, 'FD');
    	$this->MultiCell(180,10,"Remarque:".$list2["remarque"],0);
    	$this->Ln();
    		$this->SetFillColor(204,0,0);
    		$this->SetFont('Arial','B',11);
    $this->RoundedRect(10, 95, 180, 10, 3.5, 'FD');
    	$this->MultiCell(180,10,"Joindre ce document à la facture ou bien faire apparaitre le numéro BC #".$list2["id_bc"],0, "C");
    		$this->SetFillColor(192);
       $this->RoundedRect(10, 255, 70, 5, 3.5, 'FD');
    	$this->SetXY( 10, 255);
    	$this->MultiCell(120,5,"de:".$list2["nom"]. " ". $list2["prenom"]."(". $list2["date"].")",0);		
    	$this->RoundedRect(10, 262, 95, 5, 3.5, 'FD');
    	$this->SetXY( 10, 262);
    	$this->MultiCell(120,5,"Validé par:".$list2["uvnom"]. "". $list2["uvprenom"] ."(le ". $list2["datevalider"].")",0);	
    	$this->RoundedRect(140, 255, 30, 5, 3.5, 'FD');
    	$this->SetXY( 140, 255);
    	$this->MultiCell(80,5,"Qte :".$list2["qte_total"]. "",0);		
    	$this->RoundedRect(170, 255, 30, 5, 3.5, 'FD');
    	$this->SetXY( 170, 255);
    	$this->MultiCell(80,5,"Prix :".$list2["prix_total"]. "",0);	
    	//Imprime l'en-tête du tableau si nécessaire
    	parent::Header();
    }
     
    function Footer()
    {
        // Positionnement à 1,5 cm du bas
        $this->SetY(-15);
        // Police Arial italique 8
        $this->SetFont('Arial','I',8);
        // Numéro de page centré
        $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    }
     
    }
     
     
    $pdf = new PDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','',11);
    $pdf->SetAutoPageBreak(true,55); 
    $pdf->SetXY( 10, 110);
    $pdf->Ln();	
     
    $pdf->Table('select s.nom as service, 	m.nom marque, 	ref_int, 	descriptif, 	FORMAT(qte,2) as Qte, 	FORMAT(prix_unitaire,2) as Prix
    FROM boncommande_article bca
    INNER JOIN services s ON s.id_services= bca.id_services
    INNER JOIN marque m ON m.id_marque=bca.id_marque
    WHERE bca.id_bc="'.$id_bc.'"');
     
    $pdf->Output();
    ?>
    voila la première page http://hpics.li/46203e0 qui est OK.

    Merci d'avance pour votre aide

    guigui69

  6. #6
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    La solution serait peut être de détecter la fin de page avec $pdf->getY() et d'implicitement faire un addPage()

    De cette manière, on gére les sauts de page 'manuellement'

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Pourrais tu me donner un exemple ?

Discussions similaires

  1. [OL-2003] Mettre une couleur au texte de "l'objet" du mail
    Par ghostvb dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 14/06/2011, 17h45
  2. Aide pour mettre en couleur du text.
    Par gabuuzz dans le forum C#
    Réponses: 4
    Dernier message: 22/08/2009, 17h38
  3. Mettre en couleurs un texte en fonction de sa valeur.
    Par yann123456 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/02/2008, 17h34
  4. Réponses: 3
    Dernier message: 24/02/2006, 13h30
  5. Couleur mettre en gras le text d un JTextArea
    Par jean_bobi dans le forum Composants
    Réponses: 4
    Dernier message: 01/11/2005, 13h28

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