foo2hbpl is an open source printer driver for printers that use the HBPL version 2 wire protocol for their print data, such as the Dell 1355, Fuji Xerox DocuPrint CM205, or the Xerox WorkCentre 6015. These printers are often erroneously referred to as winprinters or GDI printers. However, Microsoft GDI only mandates the API between an application and the printer driver, not the protocol on the wire between the printer driver and the printer. In fact, HBPL printers are raster printers that happen to use a very efficient wire protocol. HBPL is just one of many wire protocols that are in use today, such as Postscript, PCL, Epson, ZjStream, etc. This driver uses Ghostscript to perform all of the heavy lifting (image processing). There are five major components to the foo2hbpl printer driver: foo2hbpl2 (the page image to protocol conversion engine of the driver); foo2hbpl2-wrapper (a shell script (compatible with foomatic) that runs ghostscript and foo2hbpl in a pipeline); icc2ps (converts an ICM color profile to a Postscript CRD, which is then fed into Ghostscript before the users Postscript program); foomatic-db (foomatic database entries that describe the supported printers and their options so that printer spoolers know how to access the printer using foo2hbpl2-wrapper); and hbpldecode (a tool for developers to inspect HBPL streams).
printformPdf is a wrapper for the TCPDF class that allows you to documents from a PDF template by populating it with user data. It has features for printing "data grids" and repeating data on the page (which is useful for business cards, for example) and drawing bar codes, QR codes, polygons, and images from source picture files etc. Data priniting parameters (position, font name/size, color, rotation) can be saved in an XML configuration file.
Bidwell (named for Shelford Bidwell, the inventor of the first true fax machine way back in the late 1800s) is a set of Perl scripts that are designed to run as a cron job on a Unix-like system to download emails from a POP3 account and send their contents to a CUPS or lpr printer.
DynamicReports is a Java reporting library based on JasperReports. It allows you to create dynamic report designs and it doesn't need a visual report designer. You can very quickly create reports and produce documents that can be displayed, printed, or exported into many popular formats such as PDF, Excel, Word, and others.
Print Release System provides Web-based management of System V printing. It sits between Samba and the System V printing system. It ought to be relatively easy to make it work with other printing systems. After the job is printed, the user needs to consult a Web page that shows their queued jobs, which can be selected and released for printing (or canceled). A record is maintained for each job and, once the user reaches a quota, they can't release any further jobs to the printer.