[Desktop_printing] How to make a good GUI for page overrides

Michael Sweet mike at easysw.com
Tue Feb 14 07:51:14 PST 2006

It is important to note that Till's Foomatic implementation does
not use valid IPP attribute names, and the encoding of those
options will likely break with some of the final CUPS 1.2 changes
to support collection attribute values on the command-line.  Also,
we already have some of the page override stuff in place in CUPS
1.2 (Apple's AP_FIRSTPAGE_foo options are already implemented
along with %%IncludeFeature comments), so most of the Foomatic
features are covered.  Finally, Foomatic does not play well with
Windows and MacOS client printing...

In short, please don't depend on Foomatic for this kind of

On Feb 14, 2006, at 10:04 AM, Till Kamppeter wrote:

> Oi,
> one part of printing where there is not much talked about, are page
> overrides. This means that one can assign printing options differently
> for each page. The most prominent application for that is taking  
> ketter
> head paper for the first page and normal paper (or follow-up-page  
> paper)
> for the other pages. Or one uses color and higher resolution only  
> on the
> pages with color images.
> This functionality was also talked about at FSG OpenPrinting, for the
> JTAPI, but it did not make it into the current version of JTAPI.
> I have even implemented page override support already, in Foomatic.  
> See
> the README file of the foomatic-db-engine package:
> http://www.linuxprinting.org/foomatic-db-engine/USAGE
> ---------------------------------------------------------------------- 
> ---
> [...]
> Applying options only to selected pages
> ---------------------------------------
> With most spoolers options can be supplied only to selected pages when
> Foomatic is used. The queues can be either Foomatic queues or they can
> use a manufacturer-supplied PPD file with "foomatic-rip". To make CUPS
> using "foomatic-rip" with manufacturer-supplied PPD files, add the
> line
> *cupsFilter:    "application/vnd.cups-postscript 0 foomatic-rip"
> to the PPD file. To make an option setting acting only on certain
> pages one only needs to preceed the option by a page specification:
> CUPS, GNUlpr, CPS, no spooler:
>   lpr -o 1:InputSlot=Letterhead
>   lpr -o even:Watermark=on
>   lpr -o 1,6-10,15,20-:MediaType=YellowPaper
> LPRng:
>   lpr -Z 1-2:MediaType=Cardboard
> LPD:
>   lpr -J "1,6-10,15,20-:MediaType=YellowPaper"
> PPR (RIP):
>   ppr --ripopts "1:InputSlot=Letterhead"
> PPR (Interface)
>   ppr -i "1:InputSlot=Letterhead"
> The syntax is "even", "odd", or giving comma-separated page numbers or
> page ranges. Applying options to selected pages with PDQ is not
> supported. Note that specifying a page selection with the "-F" option
> of "ppr" does not work.
> Option settings with page selection override option settings for the
> whole document on the appropriate pages. More specific (less pages
> selected) settings override less specific settings on the appropriate
> pages.
> Page-specific option settings cannot be set as default in the PPD
> files, but they can be set by editing the ~/.lpoptions file of CUPS.
> [...]
> ---------------------------------------------------------------------- 
> ---
> One reason why most users are not much aware of page overrides is,  
> that
> there is no GUI for using them, and therefore I am posting here.
> I would like to hear from the desktop experts here, how one could turn
> page overrides into an easy-to-use GUI. It schould make users aware of
> the functionality but not confuse them.
> Any ideas?
> Would also be some interesting subject for paper prototyping on the  
> Summit.
>    Till
> _______________________________________________
> Desktop_printing mailing list
> Desktop_printing at lists.osdl.org
> https://lists.osdl.org/mailman/listinfo/desktop_printing

More information about the Printing-summit mailing list