[cups] Print range confusion

Helge Blischke helgeblischke at web.de
Thu Jun 7 12:04:51 PDT 2018


A „little bit of“ research on openprinting.org and looking through the respective sources 
(fairly recent, not the latest) of the cups-filters package revealed the following:

(1) 	Recent cups releases provide support for so called app-everwhere printers, i.e.
	printers which „speak“ IPP natively.

(2)	The cups-browsed daemon of the cups-filters package extends this app-everywhere support
	for printers the device_uri of which starts with ipp: of apps: and continues with something
	like
	//hostname_or_ip_address[:port]/printers/queuename
	relying n the fact that the respective cups server correctly answers IPP requests asking for
	operations-supported or document-format-supported etc.

(3)	When doing this, this daemon looks through a database named „openprinting-ppds“ and installs
	the printer’s PPD in /etc/cups/ppd if a PPD for the respective printer make and model is found.

(4)	Ensuring conformance with the app everywhere conventions this PPD contains (among others) a
	*cupsFilter: “application/vnd.cups-pdf application/pdf 10 -"
	statement.
	As by default the only filter that generates application/vnd.cups-pdf is the pdftopdf filter,
	this filter is inserted by force as the last component in the filter chain.

(5)	As this filter, pdftopdf, processes job options which modify the document structure, like the
	page-ranges or the number-up option, and on the other hand cannot remove these already
	processed options from the app request for printing, these options are processed on the server side
	once more.

This last point is what causes your page selection error.

I’d suggest you file a bug at openprinting.org (https://bugs.linuxfoundation.org).

My suggestion for a solution to this issue is to modify the pdftopdf filter to skip the processing
of the job options that modify the document structure for these „faked“ app everywhere printers.

Helge


More information about the cups mailing list