Einzelnen Beitrag anzeigen

Neuromancer

Registriert seit: 8. Aug 2003
62 Beiträge
 
Delphi 7 Enterprise
 
#1

Drucken mit dem TWebbrowser OHNE PageSetupDialog

  Alt 4. Nov 2006, 12:37
Hallo,

ich möchte den Inhalt des TWebbrowser ausdrucken.

Insofern kein Problem, dass mir mit
Code:
WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
eine Funktion dafür zur Verfügung steht.

Nur, es müssen folgende Bedingungen zusätzlich erfüllt werden:
  • Der Drucker muss festlegbar sein
  • Die Anzahl der Kopien muss festlegbar sein
  • Das Format muss festlegbar sein (landscape/portrait)
  • Der Ausgabeschacht muss festlegbar sein
  • Die Papiergröße (A4, A5) muss festlegbar sein
  • Weitere Eigenschaften können noch hinzukommen, sind bis jetzt aber nicht notwendig

Diese Eigenschaften müssen vor dem Druck gesetzt werden und zwar ohne, dass ein SetupDialog erscheint (die notwendigen Daten zur Bestückung kommen aus einer Tabelle/DB).

Ich habe es bis jetzt so gelöst, dass ich den Standard-Drucker auf meinen gewünschten Drucker und anschließend alle Eigenschaften über DEVMODE und PRINTER_INFO_2 gesetzt habe.
Funktioniert prima.
Nur: hinterher ist natürlich der Standarddrucker mit all seinen Eigenschaften überschrieben. Wenn der User jetzt etwas anderes (meinetwegen eine Word-Datei) ausdrucken will, dann hat er immer noch meine Eigenschaften als default, müsste also alles wieder zurück setzen. Das ist schlicht und einfach eine Zumutung.

Es müsste doch auch irgendwie machbar sein, nicht die globalen Standard-Drucker-Daten zu überschreiben, sondern das ganze lokal auszuführen, so dass der Standard-Drucker mit all seinen Eigenschaften unberührt bleibt, oder?

Wer weiß Rat?

Gruß und TIA

(Crosspost in dsdt -> http://forum.dsdt.info/viewtopic.php?t=31399)
  Mit Zitat antworten Zitat