Line Printer Daemon

Einige Konverter und Gateways des convert4print-Systems verfügen eingangsseitig über eine sogenannte RAW-Schnittstelle. Damit ist gemeint, dass ein Programm eine direkte, bidirektionale TCP/IP-Verbindung zum Konverter oder Gateway aufnehmen kann, über die die Druckdaten übertragen, und gemäss einem festgelegten Protokoll, zum Beispiel PJL, Druckerstati zurückgemeldet werden. Für Windows-Rechner, aber auch viele Host-Systeme wie i5/OS oder z/OS stellt diese Art der Übertragung wegen der Bidirektionalität eine gute Lösung dar.

Systeme wie Unix, AIX, Linux oder MAC-OS X bieten zwar ebenfalls RAW-Schnittstellen, diese sind aber der Ausnahmefall und benötigen zusätzlichen Verwaltungsaufwand. Die Standardlösung dieser Systeme zur Übertragung von Druckdaten ist die Nutzung des Protokolls LPR (Line Printer Requester) / LPD (Line Printer Daemon). Auch einige ERP-Systeme wie beispielsweise SAP nutzen dieses Protokoll direkt aus der Anwendung heraus.

Für solche Anwendungsfälle ist ein besonderes Gateway gedacht: der Line-Printer-Daemon. Seine Aufgabe besteht im Prinzip darin, auf dem Netzwerk unter Port 515 auf Verbindungsanforderungen zu warten und die übertragenen Daten an die Konverter oder Gateways zur Bearbeitung durch convert4print weiterzuleiten. Dabei läuft der LPR-Teil des Protokolls auf dem druckenden Rechner und der LPD-Teil des Protokolls läuft im convert4print.

Der grosse Vorteil, LPD nicht direkt im Konverter zu unterstützen, sondern über ein separates Gateway zu regeln, besteht darin, dass sich so das Spool-System, dass sich hinter einem LPD-Server normalerweise verbindet, auch tatsächlich realisieren lässt.


Es gibt zwei mögliche Szenarien für den Einsatz des Line-Printer-Daemon: zum einen sind die übertragenen Daten Spool-Dateien, die direkt vom Konverter oder Gateway zu verarbeiten sind. Sie können direkt weitergeleitet werden.

Funktion LPD-Gateway Direktverarbeitung

Im zweiten Fall werden Datenformate übertragen, die nicht direkt verwertbar sind. Hier bietet der Line-Printer-Daemon die Möglichkeit, mit Hilfe externer Skripte oder Programme, die Druckdaten erst aufzuarbeiten, bevor sie an den Konverter oder das Gateway weitergeleitet werden.

Funktion LPD-Gateway Programmaufruf

Ein Anwendungsfall für dieses Szenario ist beispielsweise, wenn Java-Applikationen PDF-Dateien als Druckdaten anliefern. Der Line-Printer-Daemon schreibt die empfangenen Daten in eine Datei, und übergibt diese zum Drucken dem Adobe Reader, der dann seinerseits die Druckdaten an den gewünschten convert4print Konverter oder ein Gateway weitergibt.


Da das LPR/LPD-Protokoll nicht bidirektional ist, werden der druckenden Anwendung natürlich auch keine Statusmeldungen bezüglich des Druckauftrags zurückübermittelt. Da der Line-Printer-Daemon so wie in diesen Fällen üblich, ein vollwertiges Spool-System darstellt, weiss die Applikation nicht einmal, ob und wann überhaupt gedruckt wurde.

Für jeden Konverter oder Gateway wird durch den Line-Printer-Daemon eine sogenannte Warteschlange angelegt, in der Druckaufträge auch dann gesammelt werden, wenn der zugehörige Drucker nicht betriebsbereit sein sollte. Dadurch entsteht automatisch eine zeitliche Entkopplung zwischen der Applikation und dem Druckprozess - die Applikation wird nicht ausgebremst, selbst wenn sie nicht über ein Spool-System druckt.

Dass der Line-Printer-Daemon immer nur auf dem Port 515 hört, bedeutet natürlich nicht, dass jeweils immer nur eine Druckdatei zu einer Zeit übertragen werden kann. Aktuell sind 16 gleichzeitig eingehende und bis zu 256 ausgehende Verbindungen möglich - entsprechend leistungsfähige Hardware und eine Windows-Server-Version vorausgesetzt.


Falls sich der druckende Rechner trotzdem für den Status eines Druckauftrages interessieren sollte, unterstützt der Line-Printer-Daemon auch das Windows/Unix/Linux-Kommando lpq, mit dem Statusinformationen zurückgelesen werden können.



SPE