Subject: [IPP] RFC: Print Quality Presets and Processing Attributes (NODRIVER)

From: Michael Sweet via ipp <[email-masked]>
Date: Mon, 9 Nov 2020 10:18:20 -0500

All,

The following (with some initial feedback from Smith) is my proposal for a long-term solution to expressing print quality and identifying Job Template attributes that provide control over the visual processing of document data to produce content on media sheets ("dots on paper").  Comments/feedback is welcome!

........

4.x Print Quality Presets and Processing Attributes

The IPP model focuses on intent (what is desired) and not process (how to do something). The “print-quality” Job Template attribute [STD92] specifies a simple intent that traditionally has amounted to a simple set of presets that are implicitly mapped to a particular output resolution, halftoning algorithm, and color reproduction setting.  However, the simple 'draft', 'normal', and 'high' values offered by the "print-quality" attribute are sometimes not sufficient to express the range of capabilities supported by some Printers.

The “job-presets-supported” Printer Description attribute (section 6.6.8) provides a way to specify complex intent with explicit mapping to specific Job and Document Template attributes.  This allows both a simplified Client user interface ("Stapled, Two-Sided Portrait Document", "Photo on Glossy Paper") as well as proper discovery and control of the individual attributes.  These presets can be supplied by the vendor and/or as configured by a local administrator, and through the "preset-category (type2 keyword)" member attribute (section 6.6.8.x) a Client can identify and/or group such presets visually to assist the End User.

Ideally, Clients that support the "job-presets-supported" attribute and "preset-category" member attribute will replace any user interface controls for the legacy "print-quality" with a control to select the presets a Printer reports with the 'print-quality' category.  Such a Client is thus able to support Printers that only offer the simple "print-quality" enumerated values and Printers with more complex needs with a similar user interface.

Some Job Template attributes are inherently process-like such as "media-overprint", "print-color-mode", “print-content-optimize”, "print-darkness", “print-rendering-intent”, "print-speed", and “printer-resolution”.  These do not directly control Job processing but rather provide explicit control over processing variables (e.g, resource limits, bit depths, etc), algorithms (e.g, what kind of halftoning to use), and/or behaviors (e.g, over bleed for borderless printing).  The new “print-process-attributes-supported” Printer Description attribute (section 6.6.x) lists the Job Template attributes that specify how some aspects of Job processing are performed.  A Client supporting this attribute can visually group the user interface controls for these attributes to show the End User which controls relate to the visual processing and output of the Job - so called expert or advanced quality controls - versus those that express ordinary intent such as media size, duplex printing, and so forth.

6.6.8.x preset-category (type2 keyword)

This RECOMMENDED member attribute specifies the preset type. The following values are defined by this specification:

- 'feature': A preset that selects a particular Printer feature.
- ‘print-quality’: A preset that selects a particular print quality or visual processing mode for the Printer.
- 'site': A preset defined by the local administrator for a site-specific activity or workflow.

Note: Because 'print-quality' presets are intended as a replacement for the "print-quality" Job Template attribute [STD92], Printers that report 'print-quality' presets MUST report a preset for each supported "print-quality" value.

6.6.8.y Examples

(rework/expand example)

job-presets-supported={
   preset-name='draft'
   preset-category='print-quality'
   print-content-optimize='text'
   printer-resolution=300dpi
},{
   preset-name='normal'
   preset-category='print-quality'
   print-content-optimize='text-and-graphic'
   printer-resolution=600dpi
},{
   preset-name='high'
   preset-category='print-quality'
   print-content-optimize='auto'
   printer-resolution=1200dpi
},{
   preset-name='photo'
   preset-category='print-quality'
   print-content-optimize='photo'
   print-rendering-intent='relative-bpc'
   printer-resolution=1200dpi
},{
  preset-name='Marketing Flyers'
  preset-category='site'
  finishings=96(fold-letter)
  media='na_legal_8.5x14in'
  orientation-requested=4(landscape)
  print-content-optimize='text-and-graphic'
  print-rendering-intent='saturation'
  printer-resolution=1200dpi
}

6.6.x print-processing-attributes-supported (1setOf keyword)

This REQUIRED attribute lists the Job and Document Template attributes that specify processing variables such as algorithms, rendering behaviors, and resource limits.  Printers that support the "media-overprint" (section 6.2.x), "print-color-mode" (section 6.2.x), “print-content-optimize” [PWG5100.7], "print-darkness" [IPP-LABEL], “print-rendering-intent” (section 6.2.x), "print-speed" [IPP-LABEL], and/or “printer-resolution” [STD92] Job Template attributes MUST list the corresponding attributes in the "print-processing-attributes-supported" attribute.

________________________
Michael Sweet

_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp