Closed ValdikSS closed 9 months ago
What should happen is that cups-filters (separate project) correctly implement print-scaling (the option that IPP defines and iOS uses) when scaling images for printing.
We will not be using the User-Agent field to alter the behavior of the CUPS implementation of IPP. Clients can (and do) disable sending of certain User-Agent data for privacy and other reasons, so it isn't a useful/reliable way to detect the type of client. And providing multiple behaviors makes printing fragile and impossible to support.
Is your feature request related to a problem? Please describe.
cups-filters set
scale-to-fit
printing mode by default since 2012.This mode forces ghostscript input job processing to scale it before printing, which greatly increase the delay between sending the print job and getting the printout on lower-end devices (CUPS-based print server).
Describe the solution you'd like
Since scale-to-fit was enabled as an attempt to fix image printing on iOS devices, and supposedly only iOS devices are affected and all others do scaling themselves properly, it is possible to enable scale-to-fit option on print-job basis only for print jobs originating from iOS.
As IPP protocol is based on HTTP and iOS devices include their User-Agent header (like
User-Agent: CUPS/2.3.0 (iOS 13.6.1; iPhone10,4) IPP/2.0
), it should be possible to detect iOS device and force-enablefit-to-page
, while making it disabled by default for other clients.