Jetzt wird's wahrscheinlich tricky.
Ich habe eine Anwendung, die eine andere Anwendung fernsteuert, die druckt.
Das Druckergebnis (die Daten, die an den Drucker gehen) müssen allerdings gecached und ggf. verändert später an einen Drucker gesendet werden. Dazu muss ich das Druckergebnis irgendwie erhalten.
Möglichkeit 1: Druck in Datei, Datei einlesen.
Leider zu easy, weil wir in der Produktivumgebung keinerlei Schreibrechte im FS haben
Möglichkeit 2: Eigenen LPD-Daemon schreiben und die Anwendung an eben diesen LPR-Port drucken lassen.
Funktioniert zwar, aber leider kann nicht garantiert werden, dass die Druckdienste für Unix auf den Zielsystemen installiert sind. Ergo habe ich u.U. keinen lokalen LPR-Port an den ich drucken könnte.
Dazu schonmal Fragen:
Kann ich einen LPR-Port dynamisch via .NET einrichten, ggf. sogar, wenn die Unix-Druckdienste nicht vorhanden sind, und wenn ja: Wie?
Möglichkeit 3: Standard-Netzwerkdruckerport (9100) aufmachen, dort dann Drucker spielen und die andere Anwendung auf 127.0.0.1 drucken lassen.
Dazu meine eigentlichen Fragen:
Hat das schonmal jemand gemacht der mir da Tipps geben kann?
Welches Protokoll ist das überhaupt?
Wie groß ist in etwa der Aufwand, das zu implementieren?
Besser noch: Gibt es da schon eine saubere Implementierung die man inkl. Source und royality free einkaufen kann?