28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je voudrais imprimer une page html (en PDF avec l'option Microsoft Print to PDF) - fonction disponibles dans tous les browsers (essentiellement pour EDGE et CHROME).

Ma page html contient plusieurs tableau (table).
J'ai créé un fichier print.css pour une impression correcte dans le fichier PDF.
Mon problème apparaît quand le tableau est coupé à la fin de la page du PDF (car le contenu du tableau est trop volumineux): la 1ère page ne contient alors que l'en-tête du tableau et la 2nde page contient tout le tableau. Ainsi l'en-tête est répétée deux fois.

Je souhaiterais que la 1ère page ne contienne le tableau que si le corps (body) du tableau puisse être partiellement ou totalement affiché.
Ainsi si le corps du tableau peut-être partiellement affiché sur la 1ère page, la 2nde page devrait affiché le reste du tableau sans l'en-tête si c'est faisable. Si le corps du tableau ne peut pas être partiellement affiché sur la 1ère page alors le tableau doit commencer sur une nouvelle page.

J'ai essayé ce code mais cela ne fonctionne pas:

    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 essayé ceci mais cela ne fonctionne pas non plus dans EDGE

		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; 
		}


Pourriez-vous m'aider avec cela?

Merci d'avance