[Printing-architecture] IPP Everywhere: How to make CUPS queue so that applications can use these printers

Till Kamppeter till.kamppeter at gmail.com
Mon Jan 28 21:20:01 UTC 2013

On 01/09/2013 08:53 PM, Michael Sweet wrote:
> Till,
> Responses inline...
> On Jan 9, 2013, at 1:49 PM, Till Kamppeter <till.kamppeter at gmail.com> wrote:
>> ...
>> 1. How to print from a Linux machine to an IPP Everywhere printer?
>> ------------------------------------------------------------------
>> ...
> Currently the only way to do this is to query the printer and generate a PPD file from the data. Then add the queue.  All of the generated PPDs should contain:
>      *cupsFilter2: "application/vnd.cups-raster image/pwg-raster 100 rastertopwg"
> Printers with PDF support should list:
>      *cupsFilter2: "application/vnd.cups-pdf application/pdf 0 -"
> Printers with JPEG support should list:
>      *cupsFilter2: "image/jpeg image/jpeg 0 -"
> I have this on my to-do list for CUPS, but thus far haven't had the time to write it...

I have seen in the source of the IPP backend that for PDF and all image 
formats the IPP attributes are carried on to the IPP printer. So this 
means that for PDF, JPEG, and PWG Raster the PPD simply needs to have 
the option and choice names being the ones of the IPP attributes 
reported back by the Get-Printer-Attributes request and no PostScript 
code needs to get assigned to the choices. Am I right? Will CUPS supply 
all atributes on the filter/backend command line then?

Another problem would be some PPD options where the Adobe specs impose 
certain option and choice names, like PageSize, InputSlot, Duplex, 
OutputBin, Resolution, ... How do I proceed with these options?

Can I "translate" the IPP attributes somehow into PostScript commands so 
that I can also generate PPDs for PostScript printers?


More information about the Printing-architecture mailing list