Comparison of Printing Systems
See
PrintingProblems for an analysis of xhier Lpr and CUPS.
Conventions within this Document
A
print system will be a software tool that is able to
directly send printable data to a printer, that is, it can communicate with the
printer. It can also alter the print data generated by user run applications prior
to sending it to the printer.
CUPS,
LPR and
Xprint are explicit examples.
These instances of print systems also have the ability to forward jobs to another print system.
IPP printing
IPP, or
internet printing protocol, is being implemented in the open source world
by
Easy Software Products and is known as
CUPS,
or
common unix printing.
It is an example of a
print spooler, that is, it places jobs into a queue which then are sent
to the printer as other jobs are completed. This has the advantage of allowing clients to
send jobs and not have to wait until printer becomes available, thus permitting clients to perform
other tasks while the print job gets processed by the spooler. The disadvantage is that users
feel as though they are sending data into a bottomless pit to never be seen again, especially
if they go to the printer expecting to see their job printed.
Lpr
A technology that is being phased out as evidenced by Linux distributions which
are using CUPS and Macs which also use CUPS. Moreover the various implementations
of Lpr seem to be inactive further signifying that this is an old technology.
Xprint
If one goes to the
Xprint home page we are told that
Xprint is an advanced printing system which enables X11 applications to use
devices like printers, FAX or create documents in formats like PostScript, PDF,
PCL, etc.
So it's _application program interface, or API for X11 applications to create printable
data. In particular there is an implication in the above sentence that data can be sent
directly to a printer and consequently Xprint is a print system. At the aformentioned
site, there is an FAQ entry that answers the question:
what are the advantages of xprint?.
There is a brief discussion of Xprint's advantages, in particular, the usage of Type 1 fonts when
rendering graphical display data is touted, see
Gentoo documentation.
Xprint is configured to make use of print spooling systems and will try to use CUPS if it exists.
Samba
As an initial introduction, the Samba development team aswers the question:
What is Samba? In a nutshell
is permits clients not running Windows to pretend they are Windows file and print
server. Clearly this is a plus in any environment which has Windows and Unix
hosts. Indeed, this is the primary motivation for the development of Samba.
Printing from windows proceeds by forwarding jobs to a samba server which
then runs the
lpr
command and forwards the data to our main
LPD server,
print.cs.