Martin Snajdr: Drucken einer SEHR breiten Seite auf mehrere einzelne Blätter nicht möglich?!?

Grüß Gott,

Mich quält folgendes Problem:
Von einem Servlett aus wird eine HTML-Seite erstellt, die auch eine
Tebelle beinhaltet. Je nach Länge der Daten ist diese Tabelle sehr
breit (ca. 2 Bildschirmseiten nebeneinander). Diese Seite soll auch
über einen Button ausgedruckt werden können. Der Ausdruck
funktioniert hervorragend, NUR dass ausschließlich der Teil der
Tabelle gedruckt wird, der auf eine DIN-A4 Seite passt, den Rest
spuckt der Drucker nicht aus. Gibt es irgendeine Möglichkeit, den
Drucker zu veranlassen, diese Daten auf weitere Extra-Seiten zu
drucken? Mittels CSS (media="print" oder @page...) hat es nicht
hingehauen...

uAwg

Danke im Vorraus

mfG

Martin Snajdr
m.sm@gmx.de

  1. Hi Martin Snajdr,

    das CSS media:print, page  ist erst ab CSS2.0 Standart.

    Die meißten Browser interpretieren es noch nicht, weshalb man es noch nicht sinvoll einsetzen kann.

    Entweder du machst einen link auf eine extra seite, die vom Servlet erzeugt wird, auf der die beiden Tabellenhälften untereinander stehen.

    Oder du veränderst die Seite per Javascript, so dass diese druckbar wird. Du kannst z.b. den Inhalt in ein Frame schieben, welches nur einen Pixel hoch ist, aber ca. A4 breit. Dann musst du den Inhalt nur noch per window.print(); ausdrucken. Siehe dazu die Auslese, weil es auch nicht bei jedem Browser geht.

    Allgemeingesehen sieht es mit dem Drucken von HTML-Seiten eher schlecht aus. Du hast keinen Einfluss auf die Druckeransteuerung. Du bekommst nicht einmal heraus, welches Format der Drucker hat. Du kannst auch nicht seitenweise drucken - es wird nur am Band gedruckt.

    Biete solche Tabellendaten lieber als PDF an. Der Reader hat auch ein Browserplugin, wodurch die Seite direkt im Browser erscheint und dann vom User perfekt ausedruckt werden kann.

    Hoffnung besteht nur durch CSS2.0 und darüber hinaus.

    ALEX