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

Symfony PHP Discussion :

Symfony 4.4.8 et dompdf : afficher les numéros de pages dans le pied de page


Sujet :

Symfony PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 155
    Points : 135
    Points
    135
    Par défaut Symfony 4.4.8 et dompdf : afficher les numéros de pages dans le pied de page
    Bonjour à tous,

    Sous Symfony 4.4.8, je génère un doc pdf avec texte et pied de page, en passant mes variables par mon controller, et ça marche bien.
    Maintenant, je veux ajouter dans le pied de page une numérotation des pages et le nombre total de page.

    J'ai trouvé des exemples en php natif, Laravel, Drupal, mais rien pour Symfony.
    Savez vous comment faire svp ?

    Voici mon code de base, que j'ai simplifié ici, et qui fonctionne : vue twig que j'appelle par mon controller.

    Code HTML : 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
    <html>
        <head>
            <style>
                footer {
                    position: fixed; 
                    bottom: -60px; 
                    left: 0px; 
                    right: 0px;
                    height: 100px; 
                    text-align: center;
                    line-height: 35px;
                }
            </style>
        </head>
        <body>
            <footer>
                <hr>
                Le pied de ma page
            </footer>
            Le texte de ma page, plein de blabla sur plusieurs pages...
        </body>
    </html>

    Mon texte est sur plusieurs pages, mon pied est bien centré, et je souhaite afficher dans le pied à droite le numéro de page en cours et le nombre total de pages.

    Merci d'avance pour votre aide !

  2. #2
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Bonjour merou,

    Je ne suis pas sûr d'avoir compris ta question, car selon moi, tu n'as plus besoin de Php donc encore moins de Symfony pour générer des numéros de page. Tu peux le faire en CSS depuis sa version 3.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    footer:after {
        counter-increment: page;
        content:"Page " counter(page);
    }

    Malheureusement, cette solution n'est pas encore homogène, tu peux essayer aussi cela :


    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            @page {
                @bottom-left {
                    content: counter(page) " sur " counter(pages);
                }
            }

    Si tout cela ne fonctionne pas, il nous faudrait plus d'information sur les navigateurs testés, mais surtout sur la façon dont tu génères le PDF.

    Alexandre
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 155
    Points : 135
    Points
    135
    Par défaut
    Bonjour Alexandre T,

    Merci beaucoup pour ta réponse et les exemples de code
    En effet, dans mes recherches, j'étais tombé sur des exemples similaires, mais je n'avais pas compris que le css était suffisant. Je commençais à coder les numéros de pages dans mon controller, puis à les passer à ma vue Twig. Bref, je m'embarquais dans une grosse usine à gaz
    Oui, je suis d'accord, suite à tes éclaircissements, je n'ai pas besoin de Symfony ni php pour gérer le pied de page, mais j'ai un site sous Symfony, où je dois générer un pdf.
    Tant mieux si du css est suffisant !

    J'ai essayé tes 2 exemples :
    Pour le 1er, j'ai bien les numéros de pages dans le pied, mais ils démarrent à 2 et s'incrémentent par 2. Donc ma page 1 affiche 2, ma page 2 affiche 4... Étrange...
    Pour le 2eme, rien ne s'affiche dans ma page ! J'aimerai bien que cette méthode fonctionne, car elle permet de mettre le nombre total de pages...

    Pour tester, j'utilise Firefox 76.0.1 sous Ubuntu.

    Je viens de chercher d'autres exemples suite à tes indications, j'ai essayé :
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @page {
        counter-increment: page;
        counter-reset: page 1;
        @bottom-right {
            content: "Page " counter(page) " of " counter(pages);
        }
    }
    ça ne m'affiche rien non plus

    Merci encore pour ton aide, si tu as d'autres idées, je suis preneur

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 155
    Points : 135
    Points
    135
    Par défaut
    Bon, j'ai continué mes recherches...

    J'ai enlevé la ligne counter-increment: page; et la numérotation est correcte, à partir de 1 puis +1.

    J'en suis là :
    Code CSS : 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
                footer {
                    position: fixed; 
                    bottom: -60px; 
                    left: 0px; 
                    right: 0px;
                    height: 100px; 
                    text-align: center;
                    line-height: 35px;
                }
                footer:after {
                    content:"Page " counter(page) " / " counter(pages);
                    margin-left: 600px;
                    position: fixed; 
                    bottom: -80px; 
                    left: 0px; 
                    right: 0px;
                    height: 100px; 
                }

    Footer pour mon blabla centré en pied de page.
    et footer:after pour les numéros de pages.

    Dernier problème : le nombre total de page reste à zéro.

    Quelqu'un a une idée svp ???

Discussions similaires

  1. Afficher les numéros des lignes dans l'éditeur
    Par hammag dans le forum Sql Developer
    Réponses: 4
    Dernier message: 07/12/2011, 18h12
  2. Réponses: 4
    Dernier message: 28/03/2008, 22h01
  3. {mospagebreak} et ne pas afficher les numéro de page.
    Par boux2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 04/06/2007, 15h18
  4. Réponses: 2
    Dernier message: 13/06/2006, 16h45
  5. [debutant] afficher les numéros de lignes
    Par ameliepim dans le forum MFC
    Réponses: 4
    Dernier message: 07/06/2006, 11h22

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