[cups.general] How does CUPS work?
Michael Sweet
msweet at apple.com
Wed May 20 09:32:21 PDT 2009
On May 20, 2009, at 5:58 AM, Space Ship Traveller wrote:
> ....
> I then have a client such as OS X with a local CUPS server which I can
> load the printer into. This printer is loaded as IPP with the above
> URL. I also select the same PPD for use on the client.
Normally you actually want to use no PPD - "-m raw" when adding via
the lpadmin command - so that the client grabs the PPD from the server
and does no local filtering.
Mac OS X clients currently use a half-way approach for Bonjour shared
printers - they copy the PPD to the local system and update it to
basically say "I can print all of the standard formats directly" so
that there is a local PPD (so you can still show options and queue
jobs when you aren't on the server's network) but still get the
benefits of server-side option processing.
> I think my question revolves around my understanding of PPDs.
>
> So, if I print a document, the PPD provides the application details
> about the printer such as output resolution. How does this work in
> general terms? For example, if I select 300 DPI, does this insert a
> command into the postscript data stream so that the printer will
> actually know to output 300DPI?
Yes, that's exactly how it works.
> In the case that I select 300 DPI on the client, but on the server it
> is set to something else, say 600DPI, how is this resolved? Does the
> server see that it was set to 300 and change it to 600?
What actually happens in the case of a double-filtered file (which is
what your configuration does) is that the server defaults are applied
and then the job defaults. So the printer will see "print at 600 dpi"
and then shortly later "no, instead print at 300 dpi".
Not usually a problem, but it can confuse some systems that inspect
the print data stream for options.
> In the case that the client uses a PPD, should the queue on the server
> be setup as a raw queue? Is it possible that applying the PPD twice
> will cause problems?
It *can* cause problems, but we do our best to make sure that is rare.
The ideal configuration is raw queue on the client and PPD queue on
the server.
> What happens if the PPD on the client and the PPD on the server is
> different?
Depends on the differences. For example, if you use the Generic
PostScript PPD on the Mac OS X client and the vendor-specific PPD on
the server, you'll end up getting additional options defaulted on the
server end and only be able to control paper size on the clients.
> If I have a PPD on a print queue on a server, does the client somehow
> automatically pick that up?
Normally yes. If you manually configure an IPP queue, then it doesn't.
________________________________________
Michael R Sweet, Senior Printing System Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cups.org/pipermail/cups/attachments/20090520/ce70c7c8/attachment-0001.html>
More information about the cups
mailing list