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 :

[phpToPDF] Ajout de balises phpToPDF pour colorer une cellule


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [phpToPDF] Ajout de balises phpToPDF pour colorer une cellule
    Bonjour à tous,

    J'essaie, en vain, de colorer plusieurs cellules spécifiques avec phpToPDF.

    Cette fonctionnalité n'est pas disponible mais un membre du forum a posté ici ce code qui est sensé permettre l'utilisation de balises pour colorer le texte ou le fond d'un cellule particulière.

    Chercher :
    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
    if (sscanf($data[$k]['TEXT'], "[%[a-zA-Z]]%s", $balise, $reste) != 0) {
        //echo "balise = " . $balise;
        if ( (strpos($balise, "I")===FALSE) && (strpos($balise, "B")===FALSE) && (strpos($balise, "U")===FALSE)
          && (strpos($balise, "L")===FALSE) && (strpos($balise, "C")===FALSE) && (strpos($balise, "R")===FALSE) )
            ; // Mauvaise balise ou l'utilisateur veut mettre des crochets dans son tableau, c'est son droit...
        else
        {
            //echo "balise = " . $balise . "<br>";
            // On teste les différentes balises pour ajuster la cellule.
            if (strpos($balise, "I") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'I';
            if (strpos($balise, "B") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'B';
            if (strpos($balise, "U") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'U';
            if (strpos($balise, "L") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'L';
            if (strpos($balise, "C") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'C';
            if (strpos($balise, "R") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'R';
    *
    *
    Et remplacer par
    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
    if (sscanf($data[$k]['TEXT'], "[%[a-zA-Z]]%s", $balise, $reste) != 0)
    {
        //echo "balise = " . $balise;
        if ( (strpos($balise, "I")===FALSE) && (strpos($balise, "B")===FALSE) && (strpos($balise, "U")===FALSE)
          && (strpos($balise, "L")===FALSE) && (strpos($balise, "C")===FALSE) && (strpos($balise, "R")===FALSE)
          && (strpos($balise, "D")===FALSE) && (strpos($balise, "V")===FALSE) && (strpos($balise, "E")===FALSE)
          && (strpos($balise, "N")===FALSE) && (strpos($balise, "O")===FALSE) && (strpos($balise, "T")===FALSE)
          && (strpos($balise, "X")===FALSE) && (strpos($balise, "Y")===FALSE) && (strpos($balise, "Z")===FALSE)
          && (strpos($balise, "W")===FALSE) && (strpos($balise, "G")===FALSE) )//Modif Andre
            ; // Mauvaise balise ou l'utilisateur veut mettre des crochets dans son tableau, c'est son droit...
        else
        {
            //echo "balise = " . $balise . "<br>";
            // On teste les différentes balises pour ajuster la cellule.
            if (strpos($balise, "I") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'I';
            if (strpos($balise, "B") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'B';
            if (strpos($balise, "U") === FALSE) ;
            else $data[$k]['T_TYPE'] .= 'U';
            if (strpos($balise, "L") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'L';
            if (strpos($balise, "C") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'C';
            if (strpos($balise, "R") === FALSE) ;
            else $data[$k]['T_ALIGN'] .= 'R';
            if (strpos($balise, "D") === FALSE) ;//Rouge
            else $data[$k]['T_COLOR'] = array(255,0,0); //Modif Andre
            if (strpos($balise, "V") === FALSE) ;//Vert
            else $data[$k]['T_COLOR'] = array(0,128,0);
            if (strpos($balise, "E") === FALSE) ;//Bleu
            else $data[$k]['T_COLOR'] = array(0,0,255);
            if (strpos($balise, "N") === FALSE) ;//Noir
            else $data[$k]['T_COLOR'] = array(0,0,0);
            if (strpos($balise, "O") === FALSE) ;//Orange
            else $data[$k]['T_COLOR'] = array(255,128,0);
            if (strpos($balise, "T") === FALSE) ;//Violet
            else $data[$k]['T_COLOR'] = array(128,0,128);
            if (strpos($balise, "G") === FALSE) ;//Fond orange
            else $data[$k]['BG_COLOR'] = array(255,205,102);
            if (strpos($balise, "H") === FALSE) ;//Fond Gris foncé
            else $data[$k]['BG_COLOR'] = array(200,200,200);
            if (strpos($balise, "W") === FALSE) ;//Fond blanc
            else $data[$k]['BG_COLOR'] = array(255,255,255);
            if (strpos($balise, "X") === FALSE) ;//Fond Violet
            else $data[$k]['BG_COLOR'] = array(128,0,128);
            if (strpos($balise, "Y") === FALSE) ;//Fond Gris pâle
            else $data[$k]['BG_COLOR'] = array(230,230,230);
            if (strpos($balise, "Z") === FALSE) ;//Fond jaune
            else $data[$k]['BG_COLOR'] = array(255,255,0);
    Lors de la génération de mon tableau : les anciennes balises fonctionnent ([C] pour centrer par exemple) mais pas les nouvelles ([G] pour un fond orange par exemple).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Contenu du tableau.	
    $contenuTableau = array(
      "Nom", '[C]$NOM', "[G]DUPONT",
      "Prenom", '[C]$PRENOM', "[G]André"
    );
    Aucun erreur n'est générée, le PDF est bien généré mais les nouvelles balises ne s'appliquent pas. Elle restent même visibles.

    J'ai pourtant bien conservé ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // On supprime la balise du texte de la cellule...
    $data[$k]['TEXT'] = str_replace("[".$balise."]", "", $data[$k]['TEXT']);
    Quelqu'un peut-il m'aider à appliquer les modifications ?

    EDIT : Le message peut être supprimé, j'utilisais plusieurs balises [X][A] au lieu de [XA]
    Dernière modification par Invité ; 30/08/2010 à 12h43.

Discussions similaires

  1. Nouvelle balise Spoiler, pour masquer une partie de votre message
    Par Anomaly dans le forum Evolutions du club
    Réponses: 25
    Dernier message: 04/03/2015, 16h00
  2. [XL-2010] Macro pour colorer une cellule en fonction d'autres
    Par Fennec51 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2014, 09h17
  3. [XL-2003] Macro pour colorer une ligne
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/04/2013, 13h57
  4. [AC-2003] Macro pour ajouter des nouvelles colonnes pour actualiser une table
    Par Carole2810 dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/03/2010, 11h08
  5. [XHTML] Balise OBJECT pour lire une vidéo...
    Par zoidy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/06/2006, 11h21

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