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

Till Kamppeter till.kamppeter at gmail.com
Thu Jan 10 14:20:25 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...
>

For when this is planned? 1.7?


>> 2. How to make a Linux CUPS server emulate IPP Everywhere?
>> ----------------------------------------------------------
>>
>> Another use case for IPP Everywhere is having a Linux machine running CUPS and with a conventional (non-IPP Everywhere) printer connected via network or USB and a CUPS queue with driver and PPD (HPLIP, Gutenprint, PostScript, etc.). Now I have a mobile device or TV set (Android, Windows Phone, ...) which supports printing on IPP Everywhere printers. How do I make CUPS emulate IPP Everywhere, so that the shared CUPS queues appear like IPP Everywhere printers? Or does CUPS do this already?
>
> CUPS already implements the required (and many of the optional) parts of IPP Everywhere, sans WS-Discovery (which really needs system-level support and I have 0 interest in implementing it...)  You just need to add the following to cupsd.conf to make the Bonjour registrations report the _print subtype:
>
>      BrowseDNSSDSubTypes _cups,_print
>
> Of course, without the WS-Discovery stuff your WinPhone won't be able to discover the printer, but AFAIK Microsoft has not yet implemented IPP Everywhere...
>

In scheduler/conf.c is a line

   cupsdSetString(&DNSSDSubTypes, "_cups,_print");

Does this not mean that

   BrowseDNSSDSubTypes _cups,_print

is already set by default, not needing to set it in cupsd.conf?

    Till



More information about the Printing-architecture mailing list