Broken PS files and universal options

Helge Blischke h.blischke at
Sat May 31 05:17:48 PDT 2008

Beat Wolf wrote:
> Here is the example file:
> about your second comment, i'm not sure to understand it. I'm quite sure that i use the correct ppd files for my printers, does this mean that there is a option that works for all printers, or not?
> Thank you very much
> Beat Wolf
>>Beat Wolf wrote:
>>>i have a application that generates postscript files using pstopfg, psnup, psselect, gs, etc. When i try to print one of those ps files using lpr, then i can't get all options to pass, or better, no printer option passes.
>>>But i found out that they work on certain printers, and on some they don't.
>>>What i'm looking for is a way to fix my ps files, so that cups can use all printer options i want.
>>>The second thing i'm searching is, a universal way to activate duplex printing, and or grayscale, without having to find out the right options for each printer, because i want my application to be as universal as possible.
>>>Is anything of this possible?
>>>Thank you very much
>>>Beat Wolf
>>As for your 1st problem, please post (at least one) a sample file
>>to see how your PS files violate the DSC on which CUPS heavily depends.
>>As for the 2nd problem, it is a matter of how the printers are configured
>>in CUPS and if you *do* use the proper printer specific PPDs.
>>Helge Blischke
>>H.Blischke at


in the short run, I suspect, there is no hope to solve your
issue. The cuplrit is/are the pstops utility(ies) you use
to do the imposition tasks such as the n-up printing in your
sample file.

The reason is that that pstops utility makes nearly all the
PostScript operators CUPS uses to apply options to the job,
nemaly the setpagedevice operator, to a noop. As a rsult
any statements issued byx CUPS' pstops filter have no effect.

In the long run, you might try to modify the procsets issued
by the utilities you use not to "noopify" the mendioned
operators so that the CUPS filters can do their job again,
or try to emulate the additional option you need by
properly inserted PostScript snippets - but be aware that
will require quite a bit of compatibility testing.


Helge Blischke

H.Blischke at

More information about the cups mailing list