Wie kann man in einem HTML Template einen Seitenumbruch erzwingen?
Ich bearbeite zurzeit ein HTML Drucktemplate welches aus header body und footer besteht. Nun habe ich einen Ersetzer im Body eingefügt, welcher einen Datensatz automatisch einspielt. Problem ist nun, dass wenn der Datensatz zu groß ist, die Schrift des bodys über der des footers steht, quasi überschrieben. Ich suche nun nach einer Funktion, die den body, sobald er den footer "berührt", auf die nächste Seite schiebt, allerdings nicht komplett, sondern nur der teil, der den footer "überschreiben" würde. Habe es schon mit der page break funktion versucht, leider erfolglos. Falls dies die richtige Funktion ist, bitte ich um eine genauere Erklärung, falls nicht, bitte sonstige Lösungsvorschläge. :)
Vielen Dank im Vorraus!!
3 Antworten
Mit PHP kannst du's lösen.
Zähle erstmal wieviele Zeilen auf eine Seite passen. Dann nutze folgendes um zu erfahren wieviele Zeilen dein Datensatz in Anspruch nimmt...
$rows_max = "Maximale Zeilenanzahl pro Seite"
$str = "Datensatz"
$rows = substr_count($str, '/\n|\r/');
if($rows > $rows_max) {
// Datensatz hier teilen
}
Als kleiner Denkanstoß.
Na gut. Unter Umständen hat tWeuster recht. War ein Schnellschuss
Ich verwende für diesen Zweck html2pdf > www.html2pdf.fr
Einmal konfiguriert werden Seitenumbrüche automatisch erzeugt und - was mir besonders wichtig war - wird man die unschöne URL-Zeile los.
Zudem kann der Seitenbesucher das Dokument auch einfach 'drucktauglich' speichern und bei Bedarf einfach später drucken.
Die Antwort von doesanybodyknow kann ich absolut nicht empfehlen! Die Serverseitige Sprache sollte sich um die Bereitstellung der Daten kümmern, nicht jedoch um die Präsentation. Dafür gibt es nun mal html und css. Sobald der User zoomt, eine größere Schrift eingestellt oder schlicht eine andere Schriftart benutzt, kannste die "Lösung" in die Tonne treten.
Also ich hab bevor ich eben gerade recherchierte gedacht es wäre nicht möglich. Doch siehe da, es gibt anscheinend vielversprechende Ansätze:
Mit eigenen Stilangaben für das Medium "Drucker":
https://www.google.de/search?q=html+druckversion+seitenumbruch&ie=utf-8&oe=utf-8
Und an den entsprechenden Stellen Abschnittswechsel einfügen
Geht aber wohl nicht ohne Skript
Vermutlich geht's aber mit Footern
https://www.google.de/search?q=html+druckversion+fu%C3%9Fzeile&ie=utf-8&oe=utf-8