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] Numérotation des pages en bas à droite


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Par défaut [FPDF] Numérotation des pages en bas à droite
    Salut salut tout le monde,

    Maintenant que mon export sous tableau PDF marche nickel, j'aimerais y ajouter le numéro de page en bas à droite de chaque page ....

    Comment dois-je faire pour cela ???

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Resalut,

    Par défaut si tu utilises la fonction "startPageNums();", ca affiche le numéro de page en bas au milieu...

    Si tu regardes les sources de ce que tu as téléchargé, tu peux essayer de modifier le code pour ajouter un paramètre à cette fonction comme par exemple "startPageNums(centered|left|right);"

    ++
    JC

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Par défaut
    Bon et bien ça marche pas des masses ....

    Pour rappel, voici le code de ma page dabs lequel je voudrais mettre un code pour numéroter les pages ... 1/5 2/5 3/5

    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
     
    } elseif ( $export === 'pdf' ) {
    ob_start(); // Enclenche la tamporisation de sortie
      require('fpdf.php');
     
    $x = '10';
    $y = '10';
     
    $pdf=new fpdf();//on instancie un objet Portait en milimètre et au format A4
    /**
    * Comme je met les mesure en mm cele me permet de placer tous les éléments aux mm prés
    * Cela fonctione sur le principe de l'abscice et l'ordonnée
    * le X représente la largeur
    * le Y représente la hauteur
    */ 
    $pdf->AliasNbPages(nb);
    $pdf->AddPage('P','mm','A4');//on crée la page 
    $pdf->Image('../images/logo CMF-2.jpg',10,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',40,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',70,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',100,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',110,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',140,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',170,10,30,10);
    /**
    * les mesure sont aux hasard à toi de modifier le 10/10 représente la position sur la page,30/10 la taille de l'image
    */ 
    $pdf->SetXY($x, $y);
    $pdf->SetFont('Times','BIU',20);// définit l'écriture pour le titre 
    $pdf->Cell(190,10,'Exportation de la liste des affaires en PDF',1,1,'C');
     
    $nb_col = 6;
    $largeur_total_page = 210;
    $largeure_colonne = ($largeur_total_page -20) / $nb_col;
     
    $pdf->SetXY($x, $y+10);//on place le pointeur
    $pdf->SetFont('Times', '', 7);// défint l'écriture pour tous ce qui suit 
     
    while ($row_rsDossiers = mysql_fetch_assoc($rsDossiers)) {
     
    $pdf->Cell(12, 5, $row_rsDossiers['Numaff'], 1, 0, 'C', 0);
    $pdf->Cell(49, 5, $row_rsDossiers['Client'], 1, 0, 'C', 0);
    $pdf->Cell(63, 5, $row_rsDossiers['Nomaff'], 1, 0, 'C', 0);
    $pdf->Cell(40, 5, $row_rsDossiers['Resprojet'], 1, 0, 'C', 0);
    $pdf->Cell(8, 5, $row_rsDossiers['Annee'], 1, 0, 'C', 0); // Largeur A NE PAS MODIFIER
    $pdf->Cell(18, 5, $row_rsDossiers['Numcd'], 1, 1, 'C', 0); // Largeur A NE PAS MODIFIER
     
      //Numéro de page
    // $pdf->Cell(0,10,'Page '.$pdf->PageNo().'/{nb}',0,0,'C');
     
    }
     
    ob_end_clean(); // Détruit les données du tampon de sortie et éteint la tamporisation de sortie
    $pdf->Output();
    }
    ?>
    Si quelqu'un pouvait me donner un piti coup de main ....

    Merci

  4. #4
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->AliasNbPages(nb);
    Ta variable "nb" correspond à quoi ?? essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->AliasNbPages(5);
    Ce qui donne avec ton 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    } elseif ( $export === 'pdf' ) {
    ob_start(); // Enclenche la tamporisation de sortie
      require('fpdf.php');
     
    $x = '10';
    $y = '10';
     
    $pdf=new fpdf();//on instancie un objet Portait en milimètre et au format A4
    /**
    * Comme je met les mesure en mm cele me permet de placer tous les éléments aux mm prés
    * Cela fonctione sur le principe de l'abscice et l'ordonnée
    * le X représente la largeur
    * le Y représente la hauteur
    */ 
    $pdf->AliasNbPages(5);$pdf->AddPage('P','mm','A4');//on crée la page 
    $pdf->Image('../images/logo CMF-2.jpg',10,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',40,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',70,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',100,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',110,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',140,10,30,10);
    $pdf->Image('../images/logo CMF-2.jpg',170,10,30,10);
    /**
    * les mesure sont aux hasard à toi de modifier le 10/10 représente la position sur la page,30/10 la taille de l'image
    */ 
    $pdf->SetXY($x, $y);
    $pdf->SetFont('Times','BIU',20);// définit l'écriture pour le titre 
    $pdf->Cell(190,10,'Exportation de la liste des affaires en PDF',1,1,'C');
     
    $nb_col = 6;
    $largeur_total_page = 210;
    $largeure_colonne = ($largeur_total_page -20) / $nb_col;
     
    $pdf->SetXY($x, $y+10);//on place le pointeur
    $pdf->SetFont('Times', '', 7);// défint l'écriture pour tous ce qui suit 
     
    while ($row_rsDossiers = mysql_fetch_assoc($rsDossiers)) {
     
    $pdf->Cell(12, 5, $row_rsDossiers['Numaff'], 1, 0, 'C', 0);
    $pdf->Cell(49, 5, $row_rsDossiers['Client'], 1, 0, 'C', 0);
    $pdf->Cell(63, 5, $row_rsDossiers['Nomaff'], 1, 0, 'C', 0);
    $pdf->Cell(40, 5, $row_rsDossiers['Resprojet'], 1, 0, 'C', 0);
    $pdf->Cell(8, 5, $row_rsDossiers['Annee'], 1, 0, 'C', 0); // Largeur A NE PAS MODIFIER
    $pdf->Cell(18, 5, $row_rsDossiers['Numcd'], 1, 1, 'C', 0); // Largeur A NE PAS MODIFIER
     
      //Numéro de page
    $text = "Page " . $pdf->PageNo() . "/{5}";
     $pdf->Cell(0,10,$text,0,0,'C');	
    }
      
    ob_end_clean(); // Détruit les données du tampon de sortie et éteint la tamporisation de sortie
    $pdf->Output();
    }
    ?>

    ++
    JC

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Par défaut
    Je pensais qu'il fallait mettre la variable nb pour le nombre de page ...

    J'ai 24 page en tout donc au lieu de 5 j'ai mis 24 et en bas du code aussi ...

    Le soucis est qu'il me créer la cellule sans le cadre dans laquelle il centre le texte mais il me décale toute les cellules de mon tableau ...

    Et si je spécifie une position différente, vers le bas il me décale toute mes pages donc je me retrouve avec 25 pages et en plus le nbr de page n'est écris que en haut de la première page ...

    Je pense que ce code n'est pas insérer au bon endroit ....

  6. #6
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Salut, je vais tenter de répondre à ton prob mais il faut absolument qu'avant de poser tes questions, tu cherche les réponses sur le site fpdf.org à la rubrique manuel car je fais de la redite...

    1) nb est bien le nombre de page mais en PHP, nb n'est pas une variable, $nb oui

    2) Pour avoir une cellule avec cadre (cf. manuel), la 4ieme paramètre doit être égal à 1...

    3) Pour information, la méthode Cell affiche une cellule en position courante de taille w, h --> Cell(w, h, texte, cadre, ...)
    Pour afficher une cellule en position (x,y) dans ta page, il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $pdf->SetXY(x,y);
    $pdf->Cell(w, u, texte, cadre...);
    Si tu déclares ta cellule contenant le nombre de page avant tes cellules de tableau, c normal que ces dernières soient décalées car le positionnement de la cellule Page modifie la position courante...

    Je t'invite à aller voir le tutorial phpToPDF car Cell, MultiCell et autres y sont expliquées...

    L'idée, c que la méthode Cell crée des cellules à la position courante donc si tu insères une cellule entre deux autres, la dernière sera décalée car celle que tu insère décale la position courante.

    POur utiliser des cellules sans décalage, il faut mettre avant chaque appel de la méthode Cell un appel à la méthode SetXY...

    ++
    JC

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Numérotation des notes de bas de pages entre parenthèses
    Par moogwai dans le forum Mise en forme
    Réponses: 11
    Dernier message: 26/11/2021, 16h31
  2. [WD-2007] Numérotations des notes de bas de page
    Par makounet dans le forum Word
    Réponses: 9
    Dernier message: 27/10/2013, 18h24
  3. numérotation des notes de bas de page avec chapter*
    Par zanoni68 dans le forum Mise en forme
    Réponses: 0
    Dernier message: 22/08/2013, 12h50
  4. [WORD] changer numérotation des pages
    Par meufeu dans le forum VBA Word
    Réponses: 3
    Dernier message: 20/07/2005, 17h13
  5. [CR 8.5] Numérotation des pages et rappel dans sous état
    Par Nout dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 02/09/2004, 13h43

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