Benutzer mit den meisten Antworten
Wie Drucker einstellen bei Aufruf von PRINT-Prozess

Frage
-
Ich habe folgendes Problem,
ich möchte gern verschiedene PDF drucken und benutze dazu den Prozess "print".
Wie kann ich diesen Befehl den gewünschten Drucker mitgeben?
...hier mein bisheriger Code...
Process drucken = new Process(); drucken.StartInfo.CreateNoWindow = false; drucken.StartInfo.Verb = "PRINT"; drucken.StartInfo.FileName = test.pdf drucken.Start(); drucken.WaitForExit(10000); drucken.CloseMainWindow(); drucken.Close();
Antworten
-
Hallo,
vielen Dank für die Antwort.
Ich habe eine Lösung für mein Problem gefunden ... und zwar mit "printto" anstatt print.
... proc.StartInfo.Verb = "printto"; proc.StartInfo.FileName = filename; proc.StartInfo.Arguments = "\"" + "printer" + "\""; ...
- Als Antwort markiert Thorsten DörflerEditor Donnerstag, 16. Juni 2011 09:00
Alle Antworten
-
Hallo,
wenn die Anwendung dies nicht über eine Kommandozeilen Option anbietet, kannst Du bei dieser Anweisung keinen Drucker angeben, auf dem gedruckt werden soll. Meist erfolgt der Ausdruck bei Verwendung des Print-Befehls/Verb auf dem eingestellten Standarddrucker. Du könntest also vor dem Aufruf den Standarddrucker ändern. Davon würde ich aber eher abraten, da es selten gut und sicher ist, die Präferenzen des Benutzer zu verändern.
SetDefaultPrinter Function
http://msdn.microsoft.com/en-us/library/dd162971.aspxSetzen des Standarddruckers
http://dotnet-snippets.de/dns/setzen-des-standarddruckers-SID184.aspxZuvor kannst Du über GetDefaultPrinter den aktuell eingestellten Standarddrucker ermitteln, um ihn nach dem Eingriff wiederherzustellen.
PInvoke - GetDefaultPrinter
http://www.pinvoke.net/default.aspx/winspool.getdefaultprinter
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo,
vielen Dank für die Antwort.
Ich habe eine Lösung für mein Problem gefunden ... und zwar mit "printto" anstatt print.
... proc.StartInfo.Verb = "printto"; proc.StartInfo.FileName = filename; proc.StartInfo.Arguments = "\"" + "printer" + "\""; ...
- Als Antwort markiert Thorsten DörflerEditor Donnerstag, 16. Juni 2011 09:00