Project Site
How To
JavaDoc API

LPD (Line Printer Daemon) implementation in Java

This code accepts print jobs over the network and captures them, so a programmer can then manipulate these print jobs.  Processing of the print files is now straight forward.  By extending the HandlerInterface a developer can do whatever he wishes with the PrintJob.  Right now I have implemented writing the PrintJob to disk once we have received it, and I am working on writing the PrintJob to the default printer.  Eventually I hope to write the file to a database or network (say a JetDirect).  Please check out the class to see how easy it is to handle your own PrintJobs.

A few uses I have had for this lpdspooler are to:
  • forward print jobs to another program using a proprietary protocol
  • modify print jobs and then forward them to a JetDirect network print server attached to a real printer
  • write print jobs to disk or to a database
  • combine print data into one large print job and then send it to a network printer
A GUI is provided with the project to visually show that the print jobs are being captured to a queue, however the programmer is meant to decide what to do with the print job once it is captured.  So far I have used this program on Windows NT, Windows 2000, Windows XP, and Linux (Red Hat 9.0).  It should work with most any platform that has LPR printing, and all major platforms do now. 

This code requires Java2 SDK 1.4 or higher.
The code depends on the following Java JAR's:
For more information please see the SourceForge project website.  I am looking for feedback on the project, so if you have suggestions or bugs to report please feel free to contact me via the support forums on the project site.