Ich möchte Druckaufträge archivieren, um sie später nochmal nachzudrucken. Ich nutze dafür einen separaten PostScript-Druckertreiber und drucke damit direkt über einen TCP/IP- oder LPR-Port zum Drucker. Der Druck soll wie gewöhnlich am Drucker ausgegeben werden.
Außerdem soll das vom Treiber erzeugte PostScript samt Druckauftragseinstellungen (stehen als PJL- oder XML-Anweisungen über den PostScript-Daten) quasi eins zu eins archiviert werden, um es später genau so nachzudrucken. Über ein Tool oder die Kommandozeile mit dem
lpr -S 192.168.0.123 -P lp C:\MyPrintJob.ps Kommando kann ich die archivierte Datei später nochmal ausdrucken.
So, nun brauche ich eigentlich nur die Möglichkeit, den RAW-Druckdatenstrom abzufangen und zwischenzuspeichern. Folgende Überlegungen:
- RedMon: Ein spezieller Redirection Port Monitor fängt die Druckdaten ab, kann sie zum Archivieren an ein Programm schicken und schleift den Auftrag an den ursprünglichen Druckeranschluss durch. Problem: RedMon ist alt und gibt es nicht für Windows Vista/7/Server 2008.
- Ich brauche sowas wie den Standard FILE-Druckeranschluss, nur dass keine Eingabeaufforderung für einen Dateinamen erscheint. Die Druckdaten müssten dann mit automatischer Dateinamenvergabe in einen definierten Ordner abgespeichert werden. Ich finde sowas leider nicht. Ein Programm könnte den Zielordner überwachen und neue Dateien archivieren und anschließend zum ursprünglich vorgesehenen Druckeranschluss schicken. Kann man beim FILE-Anschluss den Zielordner angeben die Eingabeaufforderung unterdrücken, also Auto-Vergabe einstellen?
- Die Druckdaten wandern bei mir alle über den Windows-Spooler und daher kurzzeitig im Ordner system32/spool/printers. Man müsste sie dort abfangen, aber ich wüsste nicht wie, denn man muss sicherstellen, dass sie bereits komplett sind.
Was meint ihr?