Webgadget drucken -> iframe fehlt oder ist alleine

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von Kukulkan »

Hallo,

ich habe ein Webgadget, das ich im Prinzip so verwende:

Hauptteil:
<html><head></head><body>some header<br /><iframe src="file:///other content file"></iframe></body></html>

Das lädt einen Teil über das src-Attribut im iframe nach.

Ich versuche nun, das so zu drucken:

Code: Alles auswählen

; print the webgadget content
Procedure PrintWebgadget(WebgadgetID.l)
  Protected WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(WebgadgetID.l), #GWL_USERDATA) 
  Protected IsBusy.l
  Repeat 
    WebObject\get_Busy(@IsBusy.l) 
    Delay(1) 
    While WindowEvent(): Wend 
  Until IsBusy = 0 

  WebObject\ExecWB(#OLECMDID_PRINT, #OLECMDEXECOPT_PROMPTUSER, 0, 0) 
EndProcedure
1) Wenn ich vorher in meinen Header (some header) klicke, druckt es den Header auf eine Seite und den Inhalt des iframe auf eine zweite Seite -> zerstörtes Layout.
2) Wenn ich in den Inhalt im iframe klicke, dann druckt es nur den iframe Inhalt - ohne den Header.

Es soll aber immer alles drucken und zwar so, wie es im Bild ausschaut (so wie am Bildschirm). Wie kann ich das verhindern?

Bevor es hochkommt: Ich nehme iframe, weil im Header CSS Formatierung steckt, die nicht durch die Formatierung im anzuzeigenden Content gestört werden darf (zB veränderte TABLE Elemente). Weiterhin kann mein Header utf-8 sein und der anzuzeigende Content im iframe ISO-8859-1. Das darf sich nicht beissen. Daher der iframe.
Screenshot machen und drucken fällt weg, da der Inhalt scrollt...

Also, wie kann ich drucken wie in der Ansicht?

Grüße,

Kukulkan
The Shark
Beiträge: 37
Registriert: 03.03.2011 00:03

Re: Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von The Shark »

setgadgettext(#webgadget,"javascript:window.print();")
Bild
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von Kukulkan »

Hallo,

Danke für den Tipp, aber das ändert nichts daran, dass der iFrame immer auf einem neuen Blatt gedruckt wird :-( So sind der Header und der Inhalt auf zwei Blättern. Das macht für mich keinen Sinn, denn dann sind die Zuordnungsdaten zu dem Inhalt ja auf einem separaten Blatt (was ja genau die Zuordnung aber herstellen soll). Mist...

Kukulkan
Benutzeravatar
Bisonte
Beiträge: 2476
Registriert: 01.04.2007 20:18

Re: Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von Bisonte »

Hört sich jetzt vielleicht umständlich an, aber wie wäre denn die Idee, einen Screenshot von dem fertig geladenen Webgadget zu machen und diesen dann auszudrucken ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von Kukulkan »

Hallo,

Danke für die Idee, aber der Inhalt ist in 90% der Daten mehr als eine Bildschirmseite. Das geht deshalb sicher nicht...

Grüße,

Kukulkan
The Shark
Beiträge: 37
Registriert: 03.03.2011 00:03

Re: Webgadget drucken -> iframe fehlt oder ist alleine

Beitrag von The Shark »

Hast du es schonmal mit

Code: Alles auswählen

<iframe style="page-break-before: avoid;"> ...
versucht?
Bild
Bild
Antworten