Entwickler-Ecke

Sonstiges (.NET) - Drucken, Pagesetupdialog: Voreinstellungen


ssb-blume - Sa 26.01.13 11:50
Titel: Drucken, Pagesetupdialog: Voreinstellungen
Hallo,

Hat jemand eine Ahnung, wie man obige Methode mit Voreinstellungen programmieren kann (ich will Ränder, Kopf- und Fusszeile als Voreinstellung setzen, und das bei jedem Aufruf evtl. anders: verschiedene Vordrucke)

Das Gleiche trifft auch auf Druckername und andere Print-Einstellungen zu.

In Delphi ging das über die Einstellungen in der Registry (hkeycurrentuser/software/microsoft/internet explorer/pagesetup) in C# hat das offenbar keinen Effekt.

Danke vorab.
Hansi


Ralf Jansen - Sa 26.01.13 19:58

user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
In Delphi ging das über die Einstellungen in der Registry (hkeycurrentuser/software/microsoft/internet explorer/pagesetup) in C# hat das offenbar keinen Effekt.


Das ging da aber auch nur für die Druckeinstellungen des Internet Explorers oder? Wenn du explizit etwas für den IE machen willst solltest du das sagen.


ssb-blume - So 27.01.13 10:30

Hallo,

ich benutze unter Delphi die Komponente TWebBrowser; mit den Einstellungen in der Registry wie oben geht alles problemlos.
Unter C# wird die Komponente Webbrowser verwendet.

Beim Drucken (web.Print..) werden links 2-3 Zeichen nicht gedruckt. Aufruf von PrintSetupDialog von Webbrowser zeigt als Ränder nur Nullen.
Erst wenn diese auf den gewünschten Wert gesetzt sind, funktioniert das Drucken. Es stört ungemein, das diese Werte nach einem Formularwechsel alle weg sind und wieder Setup aufgerufen werden muß.
Das ist unmöglicher Aufwand für den Nutzer.

Ich will also, das die Drucker-Einstellungen einmal eingestellt werden und dann (gespeichert) für alle Zeiten (auch nach neuem Aufruf des Programms) erhalten bleiben!

Wenn also jemand eine Lösung weiß, wäre ich sehr froh.

Hansi


ssb-blume - Mi 13.02.13 11:31

Also ich habe die Lösung selber gefunden:

Die Angaben gelten für die WEB-Komponente.
Der HTML-Text muß die Seitenränder enthalten.

1. Voreinstellungen für alle Ränder = 0; Header und Footer beliebig. In der Registry (wie oben) speichern.
2. Unmittelbar darauf muss das Drucken erfolgen.
3. Alles OK!

Da andere Programme, auch der IE, diese Einstellungen immer wieder selbst setzen, ist die Reihenfolge einzuhalten.

Hansi