Beitragumwelt » 25.03.2016, 12:32 CSS: Überschrift niemals am Ende der Seite
Hallo,
ich arbeite an einem PDF-Export per wkhtmltopdf - das Aussehen lässt sich ja recht bequem per CSS steuern.
Ich habe nun das Problem, dass die Überschriften meines automatisch generierten E-Books ganz normal im Fließtext eingebunden werden (wie bei HTML üblich). Nur passiert es manchmal, dass eine Zwischenüberschrift ganz am Ende der PDF-Seite erscheint, was natürlich blöd aussieht.
Die HTML-Struktur ist bewusst sehr einfach gehalten, um die Verarbeitung auch in anderen Modulen zu erleichtern.
<h1>Überschrift</h1>
<p>Absatz Text</p>
Kennt jemand eine gute Möglichkeit, zu verhindern, dass eine Überschrift am Ende der Seite eingebunden wird? Falls die Überschrift am Ende der Seite sein sollte, soll sie auf die nächste Seite verschoben werden.
Ich denke gerade daran, per PHP-Script / RegEx die Überschrift und den folgenden Absatz in eine Div-Box zu packen und dieser ein no-break zu verpassen... Allerdings ist nicht zwingend ein <p> nach der Überschrift, sondern manchmal auch ein <div> oder <span>...
Hat jemand vielleicht auch einen CSS-Code parat, mit dem ich verhindere, dass die Überschrift ans Ende der Seite gequetscht wird?
Eine manuelle Bearbeitung ist nicht möglich.
Beitragumwelt » 25.03.2016, 15:12 CSS: Überschrift niemals am Ende der Seite
nein, leider nicht. habe dazu jedenfalls nichts gefunden.
Man formatiert die Seite mit HTML und CSS und das Program packt es einem als PDF zusammen.
Es gibt ja auch einige CSS-Formatierungen für Print, nur werden die von webkit (worauf das Programm basiert) wohl nicht alle korrekt berücksichtigt, insbesondere page-break-before und page- break-after.
Ich könnte mit RegEx Überschrift und erstes Element in ein eigenes no-break-Div stecken, damit die nicht getrennt werden... aber das erscheint mir im Moment noch vermeidbar... hoffe, es gibt eine gute Lösung.
Beitragnerd » 29.03.2016, 00:12 CSS: Überschrift niemals am Ende der Seite
ich glaube was du suchst ist page-break. Damit kannst du angeben dass nach ueberschriften keine neue seite anfangen darf, worauf die ueberschrift dann an den anfang der naechsten seite geschoben wird.