wie kann ich scrollbare ebenen drucken
Andreas
- javascript
o.k. ich mach es nocheinmal etwas genauer. so könnte der code aussehen.
<div id="scroll" style="position:absolute; width:635; height:100px; z-index:17; left: 153px; top: 118px; overflow: auto;">
<div id="text" style="position:absolute; z-index:30; left: 0px; top: 19px;">
<table width="590" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="17" align="left" valign="top"> </td>
<td align="left" valign="top"> <p><span class="uberschrift2">Hier steht
der tex, natürlich ist der Inhalt noch umfangreicher</span><span class="aufzahlung"></span></p>
<p> </p>
<p>Das sind die Links</p>
<p><a href="javascript:window.print();">drucken</a></p></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"> </td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><a href="javascript:self.print();">drucken</a></td>
</tr>
</table>
</div>
<div id="bild1" style="position:absolute; z-index:35; left: 336px; top: 124px;"></div>
</div>
Zum beispiel
Das Problem:
Wenn ich einen dieser links verwende druckt es mir bloß den sichtbaren bereich der ebene (der ohne scrollen sichtbar ist)
der rest des inhaltes (der am ende des scrollbaren bereiches steht wird einfaCH WEG GELASSEN.
Wer kann mir helfen ? Suche Lösung in Javascript oder PHP.
Hallo Andreas (</faq/#Q-05a>)
Bleib bitte in deinem Thread ([pref:t=49363&m=269632]).
Schöne Grüße
Johannes (</faq/#Q-05c>)
Hallo,
Wer kann mir helfen ? Suche Lösung in Javascript oder PHP.
Eine lösung mit css finde ich sinnvoller.
Lagere den ganzen css kram aus und nutze dann zb @media print{} um deine inhalte für den druck zu optimieren.
Gruss, Jan aus Dresden
Eine lösung mit css finde ich sinnvoller.
Lagere den ganzen css kram aus und nutze dann zb @media print{}
Sorry, weiß nicht genau wie du das meinst. Kannst du etwas genauer werden?
Hallo,
Sorry, weiß nicht genau wie du das meinst. Kannst du etwas genauer werden?
Verwenden stylesheets für verschiedene ausgabemedien:
http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media
SELFHTML: CSS Stylesheets / CSS-Formate definieren / CSS Stylesheets in HTML einbinden
In deinem fall für den druck, media="print", in dem css formatierst du dann deine
elemente so wie du sie gedruckt haben willst, zb: div.xyz{height:auto;}.
Ich binde das druckformat immer gleich in die allgemeine css datei ein, dass sieht dann zb so aus:
/*generelle formatierung*/
body{}
#irgendwas{}
/*für den druck*/
@media print{
body{}
#irgendwas{}
}
Das funktioniert in allen aktuellen, gängigen, grafischen browsern.
Da wo es nicht funktioniert wird aber auch dein overflow wahrscheinlich nicht funktionieren.
Du kannst dir ja mal die druckansicht meiner seite (siehe oben) ansehen um den effekt zu sehen.
Gruss, Jan aus Dresden
In deinem fall für den druck, media="print", in dem css formatierst du dann deine
elemente so wie du sie gedruckt haben willst, zb: div.xyz{height:auto;}.
Hab jetz die ganze Zeit versucht das auf die Reihe
zu bekommen, hatte aber leider keinen Erfolg.
Kannnst Du mir das mal an Hand meines Beispiels Zeigen?
Hallo,
Letztendlich geht es ja um diese zeile:
<div id="scroll" style="position:absolute; width:635; height:100px; z-index:17; left: 153px; top: 118px; overflow: auto;">
die angaben im style attribut würde ich erstmal in eine .css datei auslagern, dann sieht's so aus:
<div id="scroll">
und in der .css so:
#scroll{
position:absolute; z-index:17; left:153px; top:118px;
width:635;
height:100px;
overflow: auto;}
nun legst du in _dieser_ .css das drucklayout fest, du designst sozusagen die seite neu, für den drucker, du kannst alles verändern:
zb:
@media print{
#scroll{...;width:auto; height:auto;}
}
du hast dann noch das position:absolute; drin was probleme machen kann, da musst du halt sehen wie du das hinbiegst, dass kann man so ohne die seite zu kennen nicht sagen, probier einfach innerhalb von @media print etwas herum und schau dir die druckvorschau an, das wirst du schon hinbekommen.
Für den druck, nicht nur da, bietet es sich an, finde ich, auf feste px werte zu verzichten und die texte fliessen zu lassen, das setzt aber auch vorraus, dass die strucktur des inhaltes (html) stimmig ist ob das bei deiner tabelle nun so passt musst du sehen.
Probier einfach.
Gruss, Jan aus Dresden
Für den druck, nicht nur da, bietet es sich an, finde ich, auf feste px werte zu verzichten und die texte fliessen zu lassen, das setzt aber auch vorraus, dass die strucktur des inhaltes (html) stimmig ist ob das bei deiner tabelle nun so passt musst du sehen.
Probier einfach.
Bin so eben fertig geworden, hat ja auch lange genug gedauert.
VIELEN VIELEN DANK,
Jetzt gibt es nur noch zwei kleine probleme.
1. Im IE funktioniert das soweit einwandfrei aber Netscape druckt jetzt nur eine komplette A4 Seite aus der Rest wird auch hier wieder weggelassen.
2. Die Seite wird in einem Frame dargestellt, (lframe, mframe, rframe) in "mframe" befindet sich der inhalt der Seite während "rframe" und "lframe" nur zum zentrieren der Seite diehnen. Wenn ich die Seite ausdrucken möchte, erhalte ich:
Frage: Gibt es eine möglichkeit bei den beiden Begrenzungsframes die Druckfunktion zu unterdrücken?
Gruß Andreas
Hallo,
kannst du die sache nicht mal hochladen, in abgespeckter form welche den fehler gut zeigt.
So aus dem bauch kann man nicht viel sagen zumal ich schon ewig nichts mehr mit frames gemacht habe.
Gruss, Jan aus Dresden