[cups.general] Print dialog boxes in applications (Linux)

John Jason Jordan johnxj at comcast.net
Thu Sep 6 18:34:10 PDT 2007


On Thu, 06 Sep 2007 14:04:13 -0700
Kurt Pfeifle <k1pfeifle at gmx.net> dijo:

> John Jason Jordan wrote:

> > So where do applications get the list of options for a printer? Why are
> > they different from one application to the next?
> 
> CUPS gets all options available for a printer (including PageSize, to
> which one option you limit your question) from the PPD file (short for
> PostScript Printer Description).
> <snip>
> The PPD holds all the PageSizes the target device is capable to use,
> and CUPS builds its list of available values from that file. All PPDs
> installed for your printers in CUPS you can find in /etc/cups/ppd/,
> and their names match exactly the respective printernames.
> 
> KPDF (as well as all other KDE applications) uses KDEPrint, which
> also does also read the CUPS PPD; there should be now difference to
> what CUPS does.
> 
> OOo's most recent versions do the same. (Former versions did use
> their own private PPDs, and you might have seen very big deviations
> there too.)
> 
> Scribus' most recent releases (or is it only development releases?)
> also use the CUPS PPD. In addition, they may have a few "own" media
> sizes defined that show up (them being a DTP app, they may need to
> export to PDF and have lots of sizes pre-defined internally, while
> not requiring to have a real printer around all the time -- so their
> additional media sizes may pollute into the print dialog too).
<snip>

OK, I opened the PPD file in /etc/cps/ppd and read through it. There
were several page size sections, and I didn't quite grasp why the list
of page sizes appears more than once, although one section lists
"PageSize" and another lists "PageRegion." However, while most of it
was confusing, I did discover why Scribus uses different names for some
of the page sizes. The following snip from the PageRegion section of
the PPD file will make it clear:

*PageRegion FanFoldGermanLegal/US Folio: "
  <<
    /PageSize [612 936]
  >> xerox$pagedevice copy xerox$setpagedevice
"
*End

In other words, the page sizes are listed twice for each page size.
Scribus is taking the first one (e.g., "FanFoldGermanLegal," and all
other applications are taking the second one (i.e., "US Folio").
Evidently FanFoldLegalGerman is the same as US Folio.

> BTW, CUPS can also use "Custom" page sizes from the command line (it
> just doesn't display them in the web interface);
> 
> http://openprinting.blogspot.com/2007/09/how-to-set-custom-page-sizes-with-cups.html

That is very interesting. However, if I must specify a custom page size
with an lp command, how do I tell it to selected Extra Thick Paper, one
of the options of this printer? 

Perhaps a little clarification about this printer would help. I bought
this printer specifically to print book covers. Book covers are printed
on heavy stock, typically 256 gsm. The problem printing on this stock
with a normal laser printer is not a question of how to jam the paper
through the rollers - that is generally possible, as long as you don't
try to duplex and the printer has a pretty straight paper path. The
real problem is getting the toner fused onto the paper. Heavy paper
like the kind book covers are printed on absorbs too much heat from the
fuser, thus the toner doesn't melt completely. There are two ways to
get around this - slow down the processing time, or increase the fuser
temperature. The Phaser 7400 does it by using three different
temperature settings. The user must specify which kind of stock is
being printed on, and this is done in the print dialog box.

I don't have any problem choosing the media type (paper thickness) when
printing from the print dialog box in KPDF, OOo, Scribus, and others -
Extra Thick Paper appears as an option, and it works fine. But if I use
an lp command I need to specify Extra Thick Paper as well as the page
size. Not only that, but there are a ton of other print options
involving color saturation, halftone screening, and I could go on and
on. How do I get the syntax that lp needs in order to specify these
things? 

As for the custom paper sizes, there was some stuff in the PPD file
about it, although I did not understand a word of it. I should also add
that the user can create custom paper sizes on the printer's control
panel. Having done so, you can set the manual tray to any of your
custom paper sizes. This is all done from the printer control panel.
The problem is that if I print from a print dialog box and cannot
specify the custom paper size, the output is always wrong. 





More information about the cups mailing list