Bernd: Seitenumbruch "berechnen"

Hallo,

ich liste mit PHP/MySQL/HTML diverse (gruppierte) Ergebnisse auf, welche alle eine Überschrift haben.

Beim Ausdruck kommt es dann öfter mal vor, dass die Daten unter den Überschriften auf der nächsten Seite landen. Man sieht dann oben auf der Seite irgendwelche Daten und mangels Überschrift weiß man nicht was gemeint ist und muss zurückblättern.

In CSS gibt es ja einen Seitenumbruch der dafür ideal wäre.

In PHP könnte ich dann auch eine Logik bauen, welche die Zeilen mitzählt und prüft ob die Ergebnisse zu einer Überschrift noch auf die Seite passen, ODER ob man gleich einen Seitenumbruch einfügt.

Ist sowas aber überhaupt "punktgenau" möglich? Muss ich dann alles mit px-Angaben formatieren oder so?

Danke, Bernd

  1. Hallo Bernd,

    ich glaube nicht, dass das geht. Du hast u.A. keinen Einfluss auf die Seitenränder und den Zoomfaktor beim Drucken.

    Fürs Papierlayout würde ich ein PDF erstellen.

    Gruß
    Jürgen

  2. Hallo Bernd,

    das macht man nicht von Hand. Unter anderem deshalb nicht, weil Du nicht weißt, wie der Zieldrucker genau eingestellt ist.

    Der Browser weiß es aber, weil er mit dem Druckertreiber reden kann.

    Und damit Du dem Browser Ziele setzen kannst, gibt es das hier. Das Thema „Zusammenhalt“ hatten wir letzten Winter schon mal, daher kenne ich auch den Wermutstropfen: Nicht alles funktioniert immer so wie gedacht, und die Fehler sind pro Browser individuell. Im Zweifelsfall musst Du die den einschlägigen Kompatibilitätsübersichten (caniuse, ggf MDN) zu Rate ziehen oder Workarounds suchen.

    page-break-after:avoid geht jedenfalls nicht, aber du könntest probieren, um Überschrift und Daten einen DIV (oder eine Section) zu legen und dieser Section die Eigenschaft page-break-inside:avoid zu geben.

    Print-CSS sollte jedenfalls das Mittel der Wahl sein für deinen Zweck. Ein PDF zu rendern geht natürlich immer, der Anwendungszweck dafür ist aber eher die digitale Konservierung eines Seiteninhaltes.

    Rolf

    --
    sumpsi - posui - clusi