• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML Seite auf mehere Seiten Drucken

ne0hype

Neues Mitglied
Hallo, ich hab eine Datenbank in dieser sind viele Werte enthalten. Die Ausgabe ist eine HTML Datei mit Tabellen die alle untereinander sind. Ich möchte nun ein Druck erzeugen. Dieser soll so eine Art zusammenfassender Bericht sein, also mit Header und Footer (hier Firmenlogo und im Footer - Adresse) auf jeder Seite. Ist es nun Möglich mehrere A4 Tabellen (Breite und Höhe eines A4 Blatts) zu erzeugen und das sind dann die jeweiligen einzelnen Seiten mit den Werten aus der Datenbank? Oder gibt es da Probleme mit der Auflösung am PC und auf dem Drucker. Ich hoffe ich konnte mein Problem gut schildern und hoffe aus Feedback....
 
Wenn ich mich recht entsinne sollte es genügen, wenn Du den Tabellenkopf auch mit <thead> als eben solchen auszeichnest. Ein moderner Browser sollte diesen dann beim Druck immer oberhalb jeder Seite wiederholen.

Es kann natürlich sein, dass irgendein Browser das nicht mitmacht. Die Vorgabe dafür ist in den HTML-Spezifikationen ein "Könnte", kein "Sollte". Siehe: Tables in HTML documents
 
Hallo und danke für die schelle Antwort. Meine Frage zielte eher dahinaus, ob es reicht eine Tabelle (mit A4 Maßen) als Vorlage eines A4 Druck zu verwenden. z.b. sowas hier.


HTML:
<html> <head></head>  <body> <table style="width: 184.6mm; height: 271.6mm; border: 1px solid #000" border="0"> <tbody> <tr> <td><div>Seite 1</div></td> </tr> </tbody> </table>  <table style="width: 184.6mm; height: 271.6mm; border: 1px solid #000" border="0"> <tbody> <tr> <td>Seite 2</td> </tr> </tbody> </table>  </body> </html>

gibt es hier Probleme bei anderen Usern die eine andere Auflösung haben?
 
Zuletzt bearbeitet:
Für Webseiten spielen Auflösungen keine Rolle. Webseiten richten sich nur nach dem Viewport.

Die Herausforderung beim Druck ist jedoch, dass ein Blatt A4 nicht mit einer Auflösung oder einem Viewport verglichen werden kann. Im Druck kommt es auch eigentlich auf andere Werte an - statt Pixel geht es um Punkte. Wenn man die Druckansicht einer Webseite anpassen möchte, kann man entweder pauschal von einer maximalen Blattbreite von rund 640 Pixel ausgehen oder jegliche Breitenangaben weglassen. In ersterem Fall besteht die Gefahr, dass verschiedene Browser und Drucker dies unterschiedlich ausdrucken. In letzterem Fall lohnt es sich vorhandene Breitenangaben entweder komplett mit "auto" zu überschreiben oder auf "100% zu setzen.

Somit verstehe ich deine Frage jetzt nicht mehr wirklich. Wenn es dir darum geht, dass Du eine große Tabelle im Browser darstellst, die aber beim Ausdrucken auf mehreren Seiten kommt und es deswegen dein Wunsch wäre, zumindest die Spaltenüberschriften auf jeder einzelnen Seite zu wiederholen, dann habe ich dir deine Frage oben bereits beantwortet.
 
Hallo threadi,

ich hab mein letzten Post nochmals geändert, so das er nun auch den HTML Code anzeigt.

Wie du siehst hab ich die Breite konstant eingegeben. Was aber wie du schon geschrieben hast zur Folge hat, dass andere Browser einen anderen Seitenrandabstand haben und daher die Seite anders Drucken.

Da es sich bei dem Ausdruck um ein Bericht handelt, der immer gleich aussehen soll und zudem ein Deckblatt hat mit einem ganz geringen Seitenabstand von ca. 1 cm, wird es vermutlich schwer werden das für jeden User gleich ausdrucken zu lassen. Dazu müssten die User erst Ihre Seitenränder ändern und dann Drucken.

Da ist wohl die bessere Wahl ein PDF per PHP drucken zu lassen.


Btw: Was für Einschränkungen gibt es beim Drucken von HTML. Z.B. hab ich festgestellt, dass HR Tags im Firefox gar nicht gedruckt werden im IE schon. Und wenn ich eine Schrift grau setzte, dann wird diese immer in schwarz ausgegeben.

Grüße
 
Die Style-Angaben solltest Du in eine externe CSS-Datei auslagern. Dann kannst Du nämlich einen Style für Screen-Ansicht und einen Style für Print-Ansicht hinterlegen. So kannst Du die Druckansicht von der Bildschirm-Ansicht unterscheiden. Inline-Styles, wie Du sie verwendet hast, helfen dabei überhaupt nicht.
Farben sollte man btw. alle auf weiß und schwarz setzen - Grautöne hat nicht jeder Drucker.

Allerdings verstehe ich auch weiterhin deine Frage nach der Tabelle nicht. Aktuell missbrauchst Du Tabellen zur Ausgabe von Seiten-Zahlen - was macht das für einen Sinn? Beim Drucken werden Seitenzahlen durch den Drucker gesetzt - Du musst diese nicht in die Ausgabe integrieren, kannst sie auch nicht integrieren.

Und ja, wenn Du bei jedem Anwender genau die selbe Ansicht haben willst, wäre ein PDF das optimale.
 
Zurück
Oben