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

Mise en page CSS Discussion :

Imprimer une page en tant que PDF - Répétition d'entête de tableau sur 2 pages


Sujet :

Tableau en CSS

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 47
    Points
    47
    Par défaut Imprimer une page en tant que PDF - Répétition d'entête de tableau sur 2 pages
    Bonjour,

    Je souhaite imprimer une page HTML comme un fichier PDF. J'utilise l'option du navigateur CTRL+P sous Chrome et Edge. Les paramètres me permettent d’enregistrer la page en tant que PDF.

    La page contient plusieurs tableaux. Un fichier CSS permet d'imprimer correctement les styles de ma page dans le fichier PDF. J'ai donc appliquer des règles spécifiques.

    Je rencontre un problème avec un de mes tableaux au bas de la page. En effet il ne peut pas s'afficher entièrement sur la page à cause du contenu précédant (car le tableau est trop grand). Le tableau est alors coupé au bas de la première page (seule l'entête est affichée), l'entête est reprise sur la 2eme page avec le tableau complet. De ce fait l'entête est doublée.

    Je voudrais que le tableau ne s'affiche sur la page uniquement si son contenu (body) peut pas être affiché partiellement ou totalement afin d'éviter de me retrouver dans cette situation où juste une entête apparaît.

    Pourriez-vous me dire quel est le meilleur moyen d'y arriver?

    J'ai essayé plusieurs règles CSS mais cela ne correspond pas à mes besoins:

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    table { page-break-inside:auto !important; }
    tr    { page-break-inside:avoid !important; page-break-after:auto !important; }
    thead { display:table-header-group !important; }
    tfoot { display:table-footer-group !important; }

    J'ai également essayé ceci mais cela ne fonctionne pas sous EDGE:

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    table {
        overflow: hidden !important; 
        height: auto !important; 
        page-break-after: avoid !important; 
        page-break-before: avoid !important; 
        page-break-inside: avoid !important;
    }       
    table:last-child {
        page-break-after: auto !important; 
    }


    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Je voudrais que le tableau ne s'affiche sur la page uniquement si son contenu (body) peut pas être affiché partiellement ou totalement afin d'éviter de me retrouver dans cette situation où juste une entête apparaît.
    imprimer correctement une <table> n'est pas une chose forcément simple, sauf peut-être à la reconstruire entièrement, et surtout lors qu'elle est comprise dans du texte.

    Ceci étant as-tu essayé le minimum à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table {
      page-break-before: always;
    }
    ... de plus je pense, de tête, qu'il est compatible tous navigateurs.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 47
    Points
    47
    Par défaut
    J'ai résolu le problème en utilisant cet article:
    https://medium.com/@Idan_Co/the-ulti...r-568f415f6d2a

    Notemmant avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table {
      page-break-before: always;
    }

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

Discussions similaires

  1. Imprimer une page Web sans le CSS dédié à l'impression ?
    Par ghohm dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 30/01/2008, 12h17
  2. imprimer une page html
    Par etud_ini dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/10/2007, 18h59
  3. [C#2.0] Imprimer une page HTML
    Par mister3957 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/10/2006, 18h13
  4. Imprimer une page html
    Par rod59 dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/09/2005, 07h45
  5. [VB.NET] Imprimer une page aspx
    Par sehing dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/04/2005, 14h44

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