111 votes

comment éviter une page blanche supplémentaire à la fin lors de l'impression ?

J'utilise une propriété CSS,

Si j'utilise page-break-after: always; => Il imprime une page vierge supplémentaire avant

Si j'utilise page-break-before: always; => Il imprime une page vierge supplémentaire après. Comment éviter cela ?

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.print{
    page-break-after: always;

}
</style>
<script type="text/javascript">
window.print();
</script>
</head>
<body>
<div class="print">fd</div>
<div class="print">fdfd</div>
</body>
</html>

111voto

giannis.epp Points 131

Avez-vous essayé cela?

 @media print {
    html, body {
        height: 99%;    
    }
}

81voto

AKX Points 14236

Vous pourriez peut-être ajouter

 .print:last-child {
     page-break-after: auto;
}

ainsi le dernier print n'aura pas le saut de page supplémentaire.

Notez que le sélecteur :last-child n'est pas pris en charge dans IE8, si vous ciblez ce misérable navigateur.

53voto

Micha Radonov Points 515

La solution décrite ici m'a aidé ( lien d'archive Web ).

Tout d'abord, vous pouvez ajouter une bordure à tous les éléments pour voir ce qui provoque l'ajout d'une nouvelle page (peut-être des marges, des rembourrages, etc.).

 div { border: 1px solid black;}

Et la solution elle-même était d'ajouter les styles suivants :

 html, body { height: auto; }

44voto

Bryan Chan Points 361

si aucun de ces travaux ne fonctionne, essayez ceci

 @media print {

    html, body {
      height:100vh; 
      margin: 0 !important; 
      padding: 0 !important;
      overflow: hidden;
    }

}

assurez-vous que c'est 100vh

9voto

Lam Points 33

Cela fonctionne pour moi

 .print+.print {
    page-break-before: always;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X