web-dev-qa-db-fra.com

Comment insérer un saut de page en HTML afin que wkhtmltopdf le traite?

J'utilise donc wkhtmltopdf pour convertir un rapport HTML dynamique en PDF.

Le rapport a un format particulier et on m'a demandé de le cloner avec HTML.

Le problème auquel je suis confronté est que je ne peux pas simuler un saut de page fonctionnel à 100% en html afin que wkhtmltopdf puisse l'interpréter et envoyer le contenu sur une autre page.

J'essaie d'éviter les méthodes de mesure de la taille de la page, etc.

TIA pour toute aide fournie.

EDIT: Jusqu'à présent, j'émule le saut de page en utilisant <br> et il fonctionne. Je dois encore faire quelques tests cependant.

38
lenord

Spécifiez une règle CSS spécifique au type de support d'impression. Il y a n certain nombre de propriétés pouvant être utilisées pour la pagination . Je trouve plus facile de joindre le page-break-before propriété d'une classe, comme indiqué ci-dessous.

Dans le HTML:

<p>Page 1, paragraph 1</p>
<p class="new-page">Page 2, paragraph 1</p>
<p>Page 2, paragraph 2</p>

En CSS:

@media print {
  .new-page {
    page-break-before: always;
  }
}
50
Geraint Anderson

Lorsque j'utilise wkhtmltopdf, je travaille avec les classes suivantes:

.keep-together {
    page-break-inside: avoid;
}

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

.break-after {
    page-break-after: always;
}

Donc je peux forcer:

  • Qu'un contenu de conteneur particulier ne soit pas réparti sur deux pages (s'il correspond à une page). Lorsque vous utilisez le keep-together class un saut de page est créé avant le conteneur si nécessaire.
  • Qu'un saut de page soit forcé avant un conteneur particulier.
  • Qu'un saut de page soit forcé après un conteneur particulier.

Le @media print n'a pas fonctionné pour moi avec wkhtmltopdf.

41
Juangui Jordán
<div style = "display:block; clear:both; page-break-after:always;"></div>

Il suffit d'ajouter que dans votre code HTML

4
Ezekiel