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.
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.
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.
<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.
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...
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
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?
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