Für die Betriebssicherheit eines print2forms-Systems ist es auch wichtig, die Drucker selbst zu überwachen, um Ausfälle oder einfache Betriebsstörungen wie Papierstaus oder Tonermangel mitzubekommen.
print2forms kann zum einen Netzwerkdrucker direkt über TCP/IP ansteuern oder Drucker, die lokal am Rechner angeschlossen sind, über die Windows-Druckerwarteschlange mit Druckdaten versorgt werden.
Im zweiten Fall ist klar, dass wegen des entkoppelten Druckvorgangs keinerlei Statusinformation in Realzeit zum print2forms-System gelangt. Selbst die Erkennung, ob der Drucker überhaupt erreichbar ist, hängt sehr stark von der verwendeten Anschlussmethode und den eingesetzten Treibern ab. print2forms verzichtet daher auf ein Monitoring der Windows-Druckerwarteschlangen. Der Druckauftrag gilt als erledigt, sobald die Druckerwarteschlange den Auftrag angenommen hat.
Im Falle eine TCP/IP-Verbindung zum Drucker hat print2forms allerdings eine ganze Reihe von Möglichkeiten, den Druckerstatus zu prüfen und gegebenenfalls, neben der Anzeige im Kontrollfeld des Client/Gateay-Services, auch noch den Administrator zu benachrichtigen (siehe auch Tip Überwachung Client/Gateway-Service).
Die print2forms-Clients besitzen einen eigenen Netzwerktreiber für das sogenannte RAW-Protokoll, der es dem Client gestattet, bereits beim Bearbeiten der Eingangsdaten die Verbindung mit dem Drucker aufzunehmen, und die erzeugten Druckdaten direkt zum Drucker zu übertragen, während die Netzwerkverbindung zum druckenden Rechner noch besteht.
Bei Verwendung des RAW-Protokolls ohne Überwachung des Druckerstatus sind oft noch nicht alle Seiten eines Druckauftrags auch wirklich gedruckt, wenn alle Druckdaten zum Drucker übertragen worden sind. Grund dafür sind mehr oder minder grosse Eingangspuffer des Druckers, die eigentlich erst noch leerlaufen müssten, bevor die Netzwerkverbindung zum Rechner und zum Drucker abgebaut werden dürfte.
Der korrekte Zeitpunkt des Abbaus der Netzwerbverbindungen ist also von Statusinformationen des Druckers abhängig.
print2forms bietet daher zwei Möglichkeiten, den Drucker zu überwachen.
Bei der Nutzung des RAW-Protokolls unterstützen die meisten Laserdrucker eine bidirektionale Netzwerkverbindung. Das heist, Status- und Fehlermeldungen des Druckers erreichen den print2forms-Client und können von diesem empfangen und ausgewertet werden.
Die für die Übermittlung von Statusinformationen meistens verwendeten Kommandos sind PJL-Kommandos (Printer Job Language). Diese können beim Senden des Druckdatenstroms synchron in den PCL-Druckdatenstrom eingebaut werden. Die Antworten auf diese Kommandos kommen in der Regel asynchron, weil sie von Ereignissen im Drucker (z.B. Blatt im Ausgabeschacht, Papierende, etc) abhängig sind.
Die PJL-Status- und Fehlermeldungen des Druckers werden vom Client in einen internen Konverterstatus übersetzt, der dann auf der Netzwerkverbindung zum druckenden Rechner in eine entsprechende Status- oder Fehlermeldung des dort benutzten Datenstroms übersetzt wird.
Auf diese Weise behält der druckende Rechner die Kontrolle über den Drucker und kann seinem Benutzer korrekte und den Tatsachen entsprechende Status- und Fehlermeldungen anzeigen. Bei entsprechend ausgestatteten Drucksystemen weis der druckende Rechner genau, welche Seite bereits im Ausgabefach liegt. Auch werden so komplexe Operationen wie das seitengenaue Aufsetzen nach Fehlern überhaupt erst möglich.
Der print2forms-Client kann das für den Transport von Status- und Fehlermeldungen benutzte PJL-Protokoll sowohl aktiv als auch passiv betreiben. Passive Unterstützung wird dann verwendet, wenn der druckende Rechner selbst das PJL-Protokoll zur Druckerüberwachung verwendet, und der Client/Gateway-Service nur beobachtet, um im Kontrollfeld oder in Nachrichten den richtigen Druckerstatus anzuzeigen.
Aktive PJL-Unterstützung heist, dass der Client selbst PJL-Kommandos ausgibt, um den Druckerstatus zu überwachen. Diese Art der Unterstützung wird verwendet, wenn der druckende Rechner keine Möglichkeiten der Druckerüberwachung bietet, und im Kontrollfeld trotzdem der richtige Druckerstatus angezeigt werden soll.
Alternativ ist auch eine Druckerüberwachung mit Hilfe des Protokolls SNMP (Simple Network Management Protocol) möglich. SNMP benutzt keine gesicherte TCP/IP-Verbindung, sondern arbeitet mit dem verbindungslosen Protokoll UDP (User Datagram Protocol).
Für die Verwendung von SNMP ist es erforderlich, dass die Netzwerkschnittstelle des Druckers die Host-MIB (Management Information Base) und die Interface-MIB unterstützt.
Für eine Reihe von Schnittstellen werden Sonderbehandlungen über die jeweilige Enterprise-MIB angeboten - zur Zeit sind dies neben unseren eigenen Schnittstellen die Schnittstellen der Firmen Lexmark und SEH.
Da SNMP aber zeitlich parallel zum Druckdatenstrom verwendet wird, ist es immer asynchron, kann also Ereignisse wie Papierende nich konkret einem Druckauftrag oder gar einer Druckseite zuordnen. Es kann vorkommen, dass Ereignisse zu einem Zeitpunkt gemeldet werden, in dem weder eine TCP/IP-Netzwerkverbindung zum Drucker noch zum druckenden Rechner besteht. In diesen Fällen erscheint auch keine Statusanzeige im Kontrollfeld des Client/Gateway-Services.
Deshalb ist das PJL-Protokoll vorzuziehen.