Laden...

Vor jedem Druck via Dialog SW oder Farbe auswählen, dann versand an anderen Drucker

Erstellt von Janserino vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.977 Views
J
Janserino Themenstarter:in
4 Beiträge seit 2016
vor 7 Jahren
Vor jedem Druck via Dialog SW oder Farbe auswählen, dann versand an anderen Drucker

Hallo zusammen,

ich habe zur Zeit folgendes Problem:

vor jedem Drucken soll in einem Dialog entschieden werden, ob in Farbe oder SW gedruckt wird. Anschließend soll das Dokument je nach Auswahl an den entsprechenden Drucker A oder B weitergeleitet werden.

Mein erster Lösungsansatz war es mit Printer++ einen virtuellen Drucker zu schreiben, der einen Dialog erstellt und je nach Auswahl das Dokument auf dem einen oder anderen Drucker ausdruckt.
Allerdings bekomme ich die erzeugte DLL nicht unter Windows 8 eingebunden.

Hat einer mit Printer++ schon ähnliche Erfahrung gemacht?> Fehlermeldung:

Exception: Could not open printer for the monitor port PrinterPlusPlus!
Source: AddVPrinter Message: Could not open printer for the monitor port PrinterPlusPlus!

Gibt es eine alternatives SDK? Oder eine andere Möglichkeit statt dem Druck eine .NET Anwendung mit dem Dialog aufzurufen und danach entsprechend weiterzuleiten?

Viele Grüße

M
184 Beiträge seit 2012
vor 7 Jahren

Sind Drucker A und Drucker B tatsächlich 2 verschiedene Drucker? Oder ist derselbe Drucker nur 2x mit unterschiedlichen Einstellungen eingerichtet?

J
Janserino Themenstarter:in
4 Beiträge seit 2016
vor 7 Jahren

Es ist der selbe Drucker der mit unterschiedlichen Einstellungen, einmal als SW und einmal als Color installiert ist.

Inzwischen habe ich es geschafft mit Printer++ den Drucker unter Windows 8 zu installieren, allerdings funktioniert er leider trotzdem nicht.

Hättest du einen Lösungsvorschlag?

M
184 Beiträge seit 2012
vor 7 Jahren

Du könntest einen virtuellen Drucker per RedMon erstellen und so den Druckjob über StdIn an ein eigenes Programm weiterleiten.
Dort kannst du dann einen Dialog öffnen und z.B. den Header im Druckjob entsprechend anpassen (Schwarzweiß oder Farbe).
Das Programm gibt dann den modifizierten Druckjob über StdOut an den virtuellen Drucker weiter.
Der virtuelle Drucker schickt diesen Job dann zu deinem richtigen Drucker.

J
Janserino Themenstarter:in
4 Beiträge seit 2016
vor 7 Jahren

Danke für die schnelle Antwort.
Ich habe Printer++ jetzt zum Laufen bekommen, das einzige was noch Fehlt ist die Weiterleitung des Ausdrucks an den gewünschten Drucker.

Hat einer ein Beispiel für das Ausdrucken von einer Datei (Pfad) auf einem beliebigen Drucker (über Name oder IP)?

1.820 Beiträge seit 2005
vor 7 Jahren

Hallo Janserino,

ich habe aktuell ebenfalls das Problem, Printer++ nicht unter Windows 8 zum Laufen zu bekommen. Könnest du verraten, was du gemacht hast, damit Printer++ unter Windows 8 funktioniert?

Nobody is perfect. I'm sad, i'm not nobody 🙁

J
Janserino Themenstarter:in
4 Beiträge seit 2016
vor 7 Jahren

Hallo Janserino,

ich habe aktuell ebenfalls das Problem, Printer++ nicht unter Windows 8 zum Laufen zu bekommen. Könnest du verraten, was du gemacht hast, damit Printer++ unter Windows 8 funktioniert?

Hi,

sorry für die verspätete Antwort, ich habe das Problem durch anpassen der Fehlermeldung im Treiber auf deutschen Systemen zum Laufen gebracht.

Siehe:
http://stackoverflow.com/questions/15946460/printerplusplus-cant-find-virtual-printer

Zeile 411 in SpoolerHelper.cs

if (printerMonitorResult.Message.ToLower() != "the specified print monitor has already been installed" &&
                        printerMonitorResult.Message.ToLower() != "der angegebene druckmonitor ist bereits installiert")

Viele Grüße
Janserino