web-dev-qa-db-fra.com

Pourquoi wkhtmltopdf page-break-after n'a aucun effet?

J'utilise wkhtmltopdf 0.10.0 rc2 pour Mac

J'ai un code HTML comme celui-ci:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <link href="print.css" rel="stylesheet">
    <style type="text/css" media="screen,print">
      .break{
        display: block;
        clear: both;
        page-break-after: always;
        border :1px solid red
      }
      .page-breaker {
      display: block;
      page-break-after: always;
      border :1px solid red
      }
    </style>
  </head>
  <body>
    <div class="container break">
      page 1
    </div>
    <div class="page-breaker"></div>
    <div class="container">
      page 2
    </div>
  </body>
</html>

J'essaie simplement: 

wkhtmltopdf test.html test.pdf

Mais cela n'a pas produit de saut de page, j'ai fait quelque chose de mal?

37
Awea

Peut-être pas lié à votre pdf généré ok avec une version antérieure de wkhtmltopdf. Quoi qu'il en soit, j'ai eu des problèmes similaires avec des sauts de page non appliqués correctement. Mon problème était que les éléments parents de l'élément sauté de page avaient une overflow différente de visible.

* {
  overflow: visible !important;
}

Bien sûr, vous pouvez être plus précis sur les balises auxquelles cela s'applique;)

36
David Martin

essayez d'utiliser comme suit 

 <div style="page-break-before:always;">
   //your content
</div>

ça devrait marcher.

24
shana

Je suis usinf wkhtmltopdf 0.12.3.2

Pour moi, le saut de page après fonctionne quand une bordure est définie, et quand le div diviseur est un enfant immédiat de body .

.page-breaker {
    clear: both;
    display: block;
    border :1px solid transparent;
    page-break-after: always;
}

break-break-before ne fonctionne pas.

--print-media-type pas nécessaire.

9
bref27

J'utilise la version wkhtmltopdf 0.12.0

Pour moi, les sauts de page fonctionnent UNIQUEMENT avec --print-media-type .. Sans cela, la protection contre les sauts de page des images fonctionne, mais pas le saut de page après ou avant.

Je devais créer un fichier CSS spécial pour le support d'impression afin de le faire fonctionner.

Régler le format de papier sur 'A3' ou utiliser le 'débordement: visible' n'a pas changé.

Voir aussi WKHTMLTOPDF avec pdfkit on Rails en ignorant les sauts de page de table

3

Il fonctionne bien après avoir retiré le support d'impression.

Avant:

@media print {
    .page-break { height:0;page-break-after: always; margin:0; border-top:none;}
}

le code ci-dessus ne fonctionne pas dans la nouvelle version.

À présent

.page-break { height:0;page-break-after: always; margin:0; border-top:none;}
1
Manivasagan