Forum: PC-Programmierung IE druckt Hintergrund nicht (trotz Einstellung!)


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Eine Software rendert mit Hilfe der Windows-internen HTML-Engine 
HTML-Dateien zum Drucken. In den Dokumenten sind Zwischenüberschriften 
negativ dargestellt. Realisiert wird das mit Tabellen, die weisse 
Schrift auf schwarzem Hintergrund enthalten.

Trotz der (im Web recherchierten) Einstellung 
Internetoptionen/Erweitert/Drucken/Hintergrundfarben und -bilder drucken 
JA, schert sich IE "einen Sch..." um diese Einstellung. Auch in der 
Druckvorschau des IE8 bleiben die Flächen weiss.

Gibt es einen Registry-Eintrag, um das Probem zu lösen bzw. könnte es 
sein, dass es für die interne Rendering-Engie andere Einstellungen gibt? 
(Win 2003, SP2, IE 8)? Danke.

Frank

P.S. braucht es evtl. einen Neustart? Kann ich nur nicht leichtfertig 
machen, ist ein gut ausgelasteter Server.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Frank Esselbach schrieb:
> P.S. braucht es evtl. einen Neustart? Kann ich nur nicht leichtfertig
> machen, ist ein gut ausgelasteter Server.
Vom IE sicherlich, System eher unwahrscheinlich, aber ich würde das 
erstmal mit einer lokalen Installation testen.

Frank Esselbach schrieb:
> Realisiert wird das mit Tabellen, die weiße
> Schrift auf schwarzem Hintergrund enthalten
Die von dir angesprochene Einstellung bezieht sich aber auf den 
Hintergrund des HTML-Dokumentes und kümmert sich tatsächlich einen 
sch*** um Tabellenhintergründe... ;)

Wie würde den der Hintergrund realisiert? Gibt es ggf. eine druck.css 
welche den Bildschirmdarstellungen widerspricht.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Nein css gibt es nicht, macht den Datengenerator zu aufwändig. Der 
Hintergrund wurde mit bgcolor realisiert, was in der Ansicht klappt, nur 
beim Drucken bisher nicht.
1
<table border='0' cellspacing='0' cellpadding='0'>
2
<tr>
3
<td bgcolor='#000000' font color='#ffffff'> TEST </td>
4
</tr>
5
</table>

Inzwischen habe ich festgestellt, dass wenn man in der Druckvorschau 
eines manuell aufgerufenen Dokumentes die Einstellung für Hintergrund 
drucken nochmals manuell vornimmt, er sich das dann merkt. Aber das hat 
doch Nichts mit prof. Programmierung zu tun, oder?

Aber ich bin noch auf ganz andere Sachen gestossen. IE ist einfach nur 
ein großer Haufen Mist. Das nächste Problem ist, dass IE nicht auf den 
aktuellen Standarddrucker druckt, sondern auf den zuletzt benutzten, 
falls man diesen wechselt ... heilige Sch... Ich brauche das, um 
Ausdrucke ohne Benutzereingriff (!) auf verschiedene Drucker zu 
verteilen ...

FRank

P.S. zwischen Seiten- und Tabellenhintergrund macht der IE anscheinend 
keinen Unterschied. Entweder sie werden beide gedruckt oder nicht. Die 
Vorschau verhält sich genauso.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hm... na wenn der IE
Frank Esselbach schrieb:
> einfach nur
> ein großer Haufen Mist
ist, wieso benutzt du ihn dann?

Wie auch immer, ich würde es mal alternativ mit css probieren, dies 
hier:
Frank Esselbach schrieb:
> Nein css gibt es nicht, macht den Datengenerator zu aufwändig
versteh ich in dem Zusammenhang irgendwie nicht, eigentlich sollte das 
die Angelegenheit sehr viel einfacher machen wenn man einmal zu beginn 
des Dokumentes die Styles definiert, oder von mir aus auch inline ist:
1
<td style="background-color: #000000;" font color="#ffffff">TEST </td>
Nun wirklich nicht signifikant aufwändiger als
1
<td bgcolor='#000000' font color='#ffffff'> TEST </td>
Je nach benötigtem HTML-Standard könnte man das problem evenuell 
einfacher über ein Java Programm und den eingebauten HTML-Renderer 
lösen, da hast du dann alle Freiheiten bezüglich Druckern, und eine 
Option zum ausblenden von Hintergrundfarben gibt es da nicht...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich benutze den IE nicht, weil ich ihn liebe, sondern dessen 
Rendering-Engine steckt hinter dem HTML-Control, dass ich in meiner 
Anwendung benutze. Die Macken mit der Akzeptanz der Voreinstellungen 
sind übrigens immer die gleichen, egal, ob man die Effekte per Alt-HTML 
oder CSS erzeugt.
Für das sparsame Drucken finde ich ja prinzipiell die Möglichkeit auf 
den Verzicht von Hintergrundbildern und -farben nicht verkehrt. Was mich 
so aufbringt, ist, dass es nicht (sofort) funktioniert, wenn man es 
abschaltet.
Frank

von Arc N. (arc)


Lesenswert?

Frank Esselbach schrieb:
> Ich benutze den IE nicht, weil ich ihn liebe, sondern dessen
> Rendering-Engine steckt hinter dem HTML-Control, dass ich in meiner
> Anwendung benutze. Die Macken mit der Akzeptanz der Voreinstellungen
> sind übrigens immer die gleichen, egal, ob man die Effekte per Alt-HTML
> oder CSS erzeugt.
> Für das sparsame Drucken finde ich ja prinzipiell die Möglichkeit auf
> den Verzicht von Hintergrundbildern und -farben nicht verkehrt. Was mich
> so aufbringt, ist, dass es nicht (sofort) funktioniert, wenn man es
> abschaltet.
> Frank

Letztlich verstehe ich das Problem nicht so ganz...
Wenn das Layout wirklich komplex ist, kann man Postscript/PDF ausgeben 
und das dann entsprechend Rendern und Drucken lassen.
Bei weniger komplexen Layouts ist es auch problemlos über GDI/GDI+ 
lösbar. Warum der Umweg über HTML und den IE?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Im Rahmen des Software-Projektes sollen Informationen bei Bedarf 
angezeigt werden, aber auch archiviert und eben gedruckt. Das Layout ist 
nicht sonderlich komplex, aber eben auch etwas mehr als einfacher Text.
Eine Rendering-Engine für HTML ist bei jedem Betriebssystem bereits 
onboard, HTML ist relativ simpel zu erzeugen.
PDF dagegen ist schon deutlich schwieriger zu erzeugen und erst recht 
beim Rendern ziemlich anspruchsvoll und nicht ohne zusätzliche Libraries 
zu machen. Ich weiß, wovon ich rede, ich habe erst kürzlich ein Projekt 
gemacht, da wurde die QuickPDF-DLL als Renderer eingesetzt. Der 
Speicherplatzbedarf und die erforderliche Rechenleistung, um ein 
A4-Dokument zu rendern, bringt einen Mini-PC bzw. ThinClient scon ganz 
schön ins Schwitzen. Man muss Text z.B. mit deutlich mehr als 72 dpi 
rendern (200 dpi) und erst anschliessend herunterskalieren, sonst ist er 
kaum lesbar.

Nein, deshalb will ich das HTML-Konzept auch garnicht grundsätzlich 
infrage stellen, nur die Details sind eben hin und wieder etwas 
frustrierend.

Frank

von Arc N. (arc)


Lesenswert?

Mit folgendem Ausgangs-HTML
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
<head> </head>
4
<body>
5
<table border='0' cellspacing='0' cellpadding='0'>
6
<tr>
7
<td style="background-color: #000000;"><font color="#ffffff"> TEST </font></td></tr>
8
</table>
9
</body>
10
</html>

und mit
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup
Print_Background = yes
funktioniert es hier (allerdings IE9-Beta und Druck in Datei, dafür auch 
in der Vorschau...).

http://support.microsoft.com/kb/236777/en-us
http://support.microsoft.com/default.aspx?scid=kb;en-us;330628

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.