[Desktop_printing] PPD settings vs IPP options
k1pfeifle at gmx.net
Thu Feb 9 09:15:19 PST 2006
On Thursday 09 February 2006 15:08, Alexander Larsson wrote:
> On Thu, 2006-02-09 at 15:23 +0100, Johannes Meixner wrote:
> > Hello,
> > On Feb 9 14:00 Alexander Larsson wrote (shortened):
> > > 1) Get the PPD file for the printer, use the PPD file to set up the UI
> > > and defaults. When printing, embed the postscript snippets from the PPD
> > > file based on the settings the user made. Send this to the cups/ipp
> > > server.
> > No.
> > A normal application should create printer independent
> > PostScript and specify all options as print job parameters
> > and let the CUPS filter system do the actual processing.
> > In particular the CUPS filter "pstops" will embed the PostScript
> > snippets from the PPD according to the job options.
> Define "normal application". In this case this is library code that will
> first display a dialog that lets you select printer and settings for the
> printer, and then it generates the postscript for the output from a set
> of device-independent rendering calls the application makes (i.e. the
> app calls cairo).
> It would be perfectly possible for such code to either generate
> ready-to-print data or printer-independent data. And since it seems like
> the PPD data would allow a better printer dialog it seems that
> generating ready-to-print data would be the preferable choice in this
> case. So, maybe we should just ignore the IPP options and print -raw.
You do not want to recreate all the fance things CUPS can do for
you inside your programs. Unless you can do it wayyyyyy better than
CUPS does, and you have more elbow grease and brain muscles at your
disposal than what was accumulated in years of CUPS development ;-)
> Of course, this might be problematic if the actual printer isn't a
> postscript printer but something that cups has to rasterize before
Exactly. See my previous post. CUPS can handle non-PostScript printers
too. And it does this via PPDs.
So you only ever will have to handle PPDs and CUPS "the right way",
and you are perfect with 99.9% of print requirements.
> Will that work if you send such postscript with -raw?
No. "raw" tells CUPS: "don't ever modify the print data", and CUPS
respects this (if raw printing is allowed at all in "/etc/cups/mime.*")
More information about the Printing-summit