webentwicklung-frage-antwort-db.com.de

Wie füge ich einen Seitenumbruch in HTML ein, damit wkhtmltopdf ihn analysiert?

Im Grunde verwende ich wkhtmltopdf, um einen dynamischen HTML-Bericht in PDF zu konvertieren.

Der Bericht hat ein bestimmtes Format und ich wurde gebeten, dieses Format mit HTML zu klonen.

Das Problem besteht darin, dass ich einen zu 100% funktionsfähigen Seitenumbruch in HTML nicht simulieren kann, damit wkhtmltopdf ihn interpretieren und Inhalte an eine andere Seite senden kann.

Ich versuche, Methoden zur Messung der Seitengröße zu vermeiden.

TIA für jede Hilfe zur Verfügung gestellt.

EDIT: Bisher emuliere ich Seitenumbruch mit <br> und es funktioniert. Ich muss noch ein paar Tests machen.

38
lenord

Geben Sie eine für den Druckmedientyp spezifische CSS-Regel an. Es gibt eine Reihe von Eigenschaften, die zum Blättern verwendet werden können . Ich finde es am einfachsten, das page-break-before -Eigenschaft für eine Klasse, wie unten gezeigt.

Im HTML:

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

In der CSS:

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

Wenn ich wkhtmltopdf verwende, arbeite ich mit den folgenden Klassen:

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

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

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

So kann ich zwingen:

  • Der Inhalt eines bestimmten Containers wird nicht auf zwei Seiten verteilt (wenn er auf eine Seite passt). Bei Verwendung des keep-together Klasse Ein Seitenumbruch wird bei Bedarf vor dem Container erstellt.
  • Dass ein Seitenumbruch vor einem bestimmten Container erzwungen wird.
  • Dass ein Seitenumbruch nach einem bestimmten Container erzwungen wird.

Das @media print hat bei mir mit wkhtmltopdf nicht funktioniert.

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

Fügen Sie dies einfach in Ihren HTML-Code ein

4
Ezekiel