Je travaille sur une liste imprimable d'événements, l'imprimante imprime une page correctement, mais coupe une partie du texte en bas, puis imprime une deuxième page vierge
J'ai essayé tout ce que je sais, mais je suis à perte.
Dans print.css, définissez overflow: visible
au lieu de overflow: auto
sur div#content
. Cela m'a corrigé au moins dans Firefox. La définition de débordement automatique est: "Si le débordement est coupé, une barre de défilement doit être ajoutée pour voir le reste du contenu" - mais les barres de défilement n'existent pas sur les pages imprimées.
Je suppose que puisque la div de contenu doit s'étendre sur plusieurs pages, le navigateur pense "que vous sortez de votre conteneur et que vous devez le couper avec une barre de défilement". Le conteneur dans ce cas est la première page sur laquelle le div de contenu apparaît.
J'ai trouvé que le paramètre display: inline
sur les divisions de conteneurs a également aidé. Certaines de ces excellentes réponses ici ont fonctionné pour moi dans certaines situations tandis que dans d'autres non.
<div class="container">
<div class="content-cutting-off-here">
Some long text that gets cut off at the end of the page...
</div>
</div>
La plupart des utilisateurs définissent des conteneurs pour afficher block
ou inline-block
. Pour moi, il coupait le texte et le définissait sur inline
contournait cela. Cela rend également width
et height
non pertinents pour la div du conteneur incriminé; que j'ai trouvé gênant lors de l'impression.
@media print {
.container {
display: inline;
}
}
Voici un excellent article qui m'a aidé avec cette solution.
Je sais que c'est une vieille question, mais voici une autre façon plus récente de le faire.
Vérifiez si vous utilisez display: flex;
sur l'élément écrêté. C'était le problème pour moi, le régler sur block
l'a corrigé.
Si l'un des conteneurs que vous essayez d'imprimer flotte, il sera coupé comme vous le voyez.
Dans votre print.css, assurez-vous de désactiver tous les flottants que vous pouvez sans détruire votre mise en page. C'est une douleur, mais le support du navigateur pour l'impression est au mieux faible.
Utilisez-vous déjà la valeur print
pour l'attribut media
pour votre feuille de style comme
<link rel="stylesheet" href="print.css" media="print" />
Vous pouvez également utiliser page-break-before
attributs pour les éléments que vous ne voulez pas casser.
Je viens de résoudre ce problème dans ie7. C'était dans un projet Sharepoint, qui avait plusieurs cellules de tableau et/ou divs définies à hauteur: 100%. Une fois imprimé, il imprimait de longs formulaires, la première page ou 2 s'imprimait comme d'habitude, puis des pages vierges au lieu du reste.
Dans ma feuille de style d'impression, j'ai défini ces tables et divs sur height: auto, et maintenant ça s'imprime bien.
J'ai un problème différent dans IE8 maintenant. POUAH!
si overflow:visible;
ne fonctionne pas, essayez overflow-y:visible;
(j'ai eu body{overflow-y:scroll;}
, et body{overflow:visible;}
dans print.css pas réécrit ...)
J'ai configuré ma feuille d'impression pour imprimer uniquement le contenu modal. Ma solution a été de rendre le modal position: absolute;
. Mon modal était à l'origine position: fixed;
.
J'ai résolu le problème en ajoutant overflow:visible;
et donnez-le padding-right: 30px;
pour remplacer la largeur des barres de défilement.
juste définir affichage: en ligne a résolu mon même problème.
Lien de référence que j'ai obtenu, https://www.bennadel.com/blog/851-fixing-divs-that-cause-content-truncation-when-printing.htm
Je viens de rencontrer ce problème et je cherche sur Internet une solution qui répond à mes besoins spécifiques. Dans mon cas, j'avais environ 7 tables imbriquées dans une table plus grande. La seule façon dont j'ai pu obtenir la page Web entière à imprimer et à afficher correctement dans l'aperçu avant impression était d'utiliser des sauts de page. Les sauts de page sont des propriétés CSS qui vous permettent de spécifier et/ou de forcer les sauts de page en attachant la propriété aux éléments de bloc.
https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-before