[cups.general] How to get a class to support duplexing?

Michael Sweet msweet at apple.com
Thu Feb 25 06:58:37 PST 2010


On Feb 25, 2010, at 12:59 AM, Johannes Meixner wrote:
> 
> Hello,
> 
> On Feb 24 08:54 Michael Sweet wrote (shortened):
>> ... the cupsGetPPD API will get the PPD for
>> the first printer in the class
> 
> How exactly is "the first printer" in a class defined?
> Is it perhaps the topmost "Printer" entry in classes.conf
> or is it perhaps a random printer in the class depending
> on whatever it gets first at a particular time?

It is the first printer listed for the class in classes.conf; programmatically it is whatever order the member-uris are sent in for the CUPS_ADD_MODIFY_CLASS operation. If you use the web interface to manage the class it will be the first printer alphanumerically, while from lpadmin it will be the first printer added to the class.

> A related question:
> 
> Assume there are two printer devices with different capablities
> so that neither the capablities of the first are a subset of
> the second nor the capablities of the second are a subset
> of the first (e.g. only the first printer supports duplex
> while only the second supports color).
> 
> Nevertheless the user likes to have both in a
> class "simplex_monochrome".
> 
> If printers with different capablities are in a class
> the PPD for the class should contain the intersection
> of the capablities of all printers in the class.

That would be ideal, but that is not the current implementation.

> Would it work to set up a "virtual" queue which does
> not accept print jobs and additionally printing is stopped
> with a device URI file:/dev/null and a selfmade PPD which
> contains the intersection of the capablities of both printers
> and have this queue as topmost "Printer" entry in classes.conf
> so that the virtual queue is never used for actual printout
> but cupsGetPPD will get the right PPD for this class?

Yes, as long as the virtual queue is listed first in classes.conf.

> Do you think it makes sense for a feature request
> that it is possible to assign a PPD to a class like
> 
>   lpadmin -p queue_name -c class_name -P /path/to/file.ppd
> 
> so that cupsGetPPD will first try to get /etc/cups/ppd/class_name.ppd
> and use the PPD for the first printer in the class as fallback
> when no /etc/cups/ppd/class_name.ppd exists?


I don't think we'd add that, however a feature request to generate a PPD containing the intersection of features between printers would be something we would consider.

___________________________________________________
Michael Sweet, Senior Printing System Engineer







More information about the cups mailing list