Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8011

Internet Printing Protocol/1.1: Model and Semantics

Pages: 221
Internet Standard: 92
Errata
Obsoletes:  291133813382
Part 7 of 12 – Pages 106 to 124
First   Prev   Next

Top   ToC   RFC8011 - Page 106   prevText

5.2. Job Template Attributes

Job Template attributes describe Job processing intent. Clients MAY supply (in Job Creation requests) and Printers SHOULD support Job Template attributes. See Section 2.3.11 for a description of support for OPTIONAL attributes. Job Template attributes conform to the following rules. For each Job Template attribute called "xxx": 1. If the Printer supports "xxx", then it MUST support both an "xxx-default" attribute (unless there is a "No" in Table 8 below) and an "xxx-supported" attribute. If the Printer doesn't support "xxx", then it MUST support neither an "xxx-default" attribute nor an "xxx-supported" attribute, and it MUST treat an attribute "xxx" supplied by a Client as unsupported. An attribute "xxx" can be supported for some Document formats and not supported for other Document formats. For example, it is expected that a Printer would only support "orientation-requested" for some Document formats (such as 'text/plain' or 'text/html') but not others (such as 'application/postscript').
Top   ToC   RFC8011 - Page 107
   2.  Clients MAY supply "xxx" in a Job Creation request.  If "xxx" is
       supplied, the Client is indicating a desired Job processing
       behavior for this Job.  When "xxx" is not supplied, the Client is
       indicating that the Printer apply its default Job processing
       behavior at Job processing time if the Document content does not
       contain an embedded instruction indicating an xxx-related
       behavior.

       Since an Administrator MAY change the default value attribute
       after a Job has been submitted but before it has been processed,
       the default value used by the Printer at Job processing time can
       be different than the default value in effect at Job submission
       time.

   3.  The "xxx-supported" attribute is a Printer attribute that
       describes which Job processing behaviors are supported by that
       Printer.  A Client can query the Printer to find out what
       xxx-related behaviors are supported by inspecting the returned
       values of the "xxx-supported" attribute.

       Note: The "xxx" in each "xxx-supported" attribute name is
       singular, even though an "xxx-supported" attribute usually has
       more than one value, such as "print-quality-supported", unless
       the "xxx" Job Template attribute is plural, such as "finishings"
       or "sides".  In such cases, the "xxx-supported" attribute names
       are "finishings-supported" and "sides-supported".

   4.  The "xxx-default" default value attribute describes what will be
       done at Job processing time when no other Job processing
       information is supplied by the Client (either explicitly as an
       IPP attribute in the Job Creation request or implicitly as an
       embedded instruction within the Document data).

   If an application wishes to present an End User with a list of
   supported values from which to choose, the application SHOULD query
   the Printer for its supported value attributes.  The application
   SHOULD also query the default value attributes.  If the application
   then limits selectable values to only those values that are
   supported, the application can guarantee that the values supplied by
   the Client in the Job Creation request all fall within the set of
   supported values at the Printer.  When querying the Printer, the
   Client MAY enumerate each attribute by name in the
   Get-Printer-Attributes request, or the Client MAY just name the
   "job-template" group in order to get the complete set of supported
   attributes (both supported and default attributes).
Top   ToC   RFC8011 - Page 108
   The "finishings" attribute is an example of a Job Template attribute.
   It can take on a set of values such as '4' ('staple'), '5' ('punch'),
   and/or '6' ('cover'); see Table 10 in Section 5.2.6.  A Client can
   query the Printer for the "finishings-supported" attribute and the
   "finishings-default" attribute.  The supported attribute contains a
   set of supported values.  The default value attribute contains the
   finishing value(s) that will be used for a new Job if the Client does
   not supply a "finishings" attribute in the Job Creation request and
   the Document data does not contain any corresponding finishing
   instructions.  If the Client does supply the "finishings" attribute
   in the Job Creation request, the Printer validates the value or
   values to make sure that they are a subset of the supported values
   identified in the Printer's "finishings-supported" attribute.  See
   Section 4.1.7.

   Table 8 below summarizes the names and relationships for all Job
   Template attributes.  The first column of the table (labeled "Job
   Attribute") shows the name and syntax for each Job Template attribute
   in the Job.  These are the attributes that can optionally be supplied
   by the Client in a Job Creation request.  The last two columns
   (labeled "Printer: Default Value Attribute" and "Printer: "Supported
   Values" Attribute") show the name and syntax for each Job Template
   attribute in the Printer (the default value attributes and the
   "supported values" attributes).  A "No" in the table means the
   Printer MUST NOT support the attribute (that is, the attribute is
   simply not applicable).  For brevity in the table, the 'text' and
   'name' entries do not show the maximum length for each attribute.

   +------------------+----------------------+-------------------------+
   | Job Attribute    | Printer: Default     | Printer: "Supported     |
   |                  | Value Attribute      | Values" Attribute       |
   +------------------+----------------------+-------------------------+
   | job-priority     | job-priority-default | job-priority-supported  |
   | (integer 1:100)  | (integer 1:100)      | (integer 1:100)         |
   +------------------+----------------------+-------------------------+
   | job-hold-until   | job-hold-until-      | job-hold-until-         |
   | (type2 keyword | | default (type2       | supported (1setOf       |
   | name)            | keyword | name)      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | job-sheets       | job-sheets-default   | job-sheets-supported    |
   | (type2 keyword | | (type2 keyword |     | (1setOf (type2 keyword  |
   | name)            | name)                | | name))                |
   +------------------+----------------------+-------------------------+
   | multiple-        | multiple-document-   | multiple-document-      |
   | document-        | handling-default     | handling-supported      |
   | handling (type2  | (type2 keyword)      | (1setOf type2 keyword)  |
   | keyword)         |                      |                         |
Top   ToC   RFC8011 - Page 109
   +------------------+----------------------+-------------------------+
   | copies           | copies-default       | copies-supported        |
   | (integer(1:MAX)) | (integer(1:MAX))     | (rangeOfInteger(1:MAX)) |
   +------------------+----------------------+-------------------------+
   | finishings       | finishings-default   | finishings-supported    |
   | (1setOf type2    | (1setOf type2 enum)  | (1setOf type2 enum)     |
   | enum)            |                      |                         |
   +------------------+----------------------+-------------------------+
   | page-ranges      | No                   | page-ranges-supported   |
   | (1setOf          |                      | (boolean)               |
   | rangeOfInteger   |                      |                         |
   | (1:MAX))         |                      |                         |
   +------------------+----------------------+-------------------------+
   | sides (type2     | sides-default (type2 | sides-supported (1setOf |
   | keyword)         | keyword)             | type2 keyword)          |
   +------------------+----------------------+-------------------------+
   | number-up        | number-up-default    | number-up-supported     |
   | (integer(1:MAX)) | (integer(1:MAX))     | (1setOf                 |
   |                  |                      | (integer(1:MAX) |       |
   |                  |                      | rangeOfInteger(1:MAX))) |
   +------------------+----------------------+-------------------------+
   | orientation-     | orientation-         | orientation-requested-  |
   | requested (type2 | requested-default    | supported (1setOf type2 |
   | enum)            | (type2 enum)         | enum)                   |
   +------------------+----------------------+-------------------------+
   | media (type2     | media-default (type2 | media-supported (1setOf |
   | keyword | name)  | keyword | name)      | (type2 keyword | name)) |
   |                  |                      | media-ready (1setOf     |
   |                  |                      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | printer-         | printer-resolution-  | printer-resolution-     |
   | resolution       | default (resolution) | supported (1setOf       |
   | (resolution)     |                      | resolution)             |
   +------------------+----------------------+-------------------------+
   | print-quality    | print-quality-       | print-quality-supported |
   | (type2 enum)     | default (type2 enum) | (1setOf type2 enum)     |
   +------------------+----------------------+-------------------------+

                     Table 8: Job Template Attributes

5.2.1. job-priority (integer(1:100))

This attribute specifies a priority for scheduling the Job. A higher value specifies a higher priority. The value 1 indicates the lowest possible priority. The value 100 indicates the highest possible priority. Among those Jobs that are ready to print, a Printer MUST print all Jobs with a priority value of n before printing those with a priority value of n - 1 for all n.
Top   ToC   RFC8011 - Page 110
   If the Printer supports this attribute, it MUST always support the
   full range from 1 to 100.  No administrative restrictions are
   permitted.  This way, an End User can always make full use of the
   entire range with any Printer.  If privileged Jobs are implemented
   outside IPP, they MUST have priorities higher than 100, rather than
   restricting the range available to End Users.

   If the Client does not supply this attribute and this attribute is
   supported by the Printer, the Printer MUST use the value of the
   Printer's "job-priority-default" attribute at Job submission time
   (unlike most Job Template attributes that are used if necessary at
   Job processing time).

   The syntax for the "job-priority-supported" attribute is also
   integer(1:100).  This single integer value indicates the number of
   priority levels supported.  The Printer MUST take the value supplied
   by the Client and map it to the closest integer in a sequence of
   n integer values that are evenly distributed over the range from
   1 to 100 using the formula:

      roundToNearestInt((100x + 50) / n)

   where n is the value of "job-priority-supported" and x ranges from
   0 through (n - 1).

   For example, if n = 1, the sequence of values is 50; if n = 2, the
   sequence of values is 25 and 75; if n = 3, the sequence of values is
   17, 50, and 83; if n = 10, the sequence of values is 5, 15, 25, 35,
   45, 55, 65, 75, 85, and 95; if n = 100, the sequence of values is
   1, 2, 3, ... 100.
Top   ToC   RFC8011 - Page 111
   Table 9 shows how a Printer maps Client-supplied "job-priority"
   values for example values of n.

                 +--------------+-------+-------+--------+
                 | job-priority | n = 1 | n = 2 | n = 10 |
                 +--------------+-------+-------+--------+
                 | 1            | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 10           | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 20           | 50    | 17    | 15     |
                 +--------------+-------+-------+--------+
                 | 30           | 50    | 17    | 25     |
                 +--------------+-------+-------+--------+
                 | 40           | 50    | 50    | 35     |
                 +--------------+-------+-------+--------+
                 | 50           | 50    | 50    | 45     |
                 +--------------+-------+-------+--------+
                 | 60           | 50    | 50    | 55     |
                 +--------------+-------+-------+--------+
                 | 70           | 50    | 50    | 65     |
                 +--------------+-------+-------+--------+
                 | 80           | 50    | 83    | 75     |
                 +--------------+-------+-------+--------+
                 | 90           | 50    | 83    | 85     |
                 +--------------+-------+-------+--------+
                 | 100          | 50    | 83    | 95     |
                 +--------------+-------+-------+--------+

                      Table 9: "job-priority" Values

5.2.2. job-hold-until (type2 keyword | name(MAX))

This attribute specifies the named time period during which the Job MUST become a candidate for printing. Standard 'keyword' values for named time periods are: o 'no-hold': immediately, if there are no other reasons to hold the job o 'indefinite': the Job is held indefinitely, until a Client performs a Release-Job (Section 4.3.6) o 'day-time': during the day o 'evening': evening
Top   ToC   RFC8011 - Page 112
   o  'night': night

   o  'weekend': weekend

   o  'second-shift': second shift (after close of business)

   o  'third-shift': third shift (after midnight)

   An Administrator MUST associate allowable print times with a named
   time period (by means outside the scope of this IPP/1.1 document).
   An Administrator is encouraged to pick names that suggest the type of
   time period.  An Administrator MAY define additional values using the
   'name' or 'keyword' attribute syntax, depending on implementation.

   If the value of this attribute specifies a time period that is in the
   future, the Printer SHOULD add the "job-hold-until-specified" value
   to the Job's "job-state-reasons" attribute, MUST move the Job to the
   'pending-held' state, and MUST NOT schedule the Job for printing
   until the specified time period arrives.

   When the specified time period arrives, the Printer MUST remove the
   "job-hold-until-specified" value from the Job's "job-state-reasons"
   attribute, if present.  If there are no other Job state reasons that
   keep the Job in the 'pending-held' state, the Printer MUST consider
   the Job as a candidate for processing by moving the Job to the
   'pending' state.

   If this Job attribute value is the named value 'no-hold' or the
   specified time period has already started, the Job MUST be a
   candidate for processing immediately.

   If the Client does not supply this attribute and this attribute is
   supported by the Printer, the Printer MUST use the value of the
   Printer's "job-hold-until-default" at Job submission time (unlike
   most Job Template attributes that are used if necessary at Job
   processing time).

5.2.3. job-sheets (type2 keyword | name(MAX))

This attribute determines which Job start/end sheet(s), if any, MUST be printed with a Job. Standard 'keyword' values are: o 'none': no Job sheet is printed o 'standard': one or more site-specific standard Job sheets are printed, e.g., a single start sheet or both start and end sheets
Top   ToC   RFC8011 - Page 113
   An Administrator MAY define additional values using the 'name' or
   'keyword' attribute syntax, depending on implementation.

   The effect of this attribute on Jobs with multiple Documents MAY be
   affected by the "multiple-document-handling" Job attribute
   (Section 5.2.4), depending on the Job sheet semantics.

5.2.4. multiple-document-handling (type2 keyword)

This RECOMMENDED attribute controls which Impressions and Media Sheets constitute a Set for copy generation and finishing processes. When the value of the "copies" attribute exceeds '1', it also controls the order in which the copies that result from processing the Documents are produced. For the purposes of this explanation, if "a" represents an instance of Document data, then the result of processing the data in Document "a" is a sequence of Media Sheets represented by "a(*)". This attribute MUST be supported with at least one value if the Printer supports multiple Documents per Job (see Sections 4.2.4 and 4.3.1). Standard 'keyword' values are: o 'single-document': If a Job has multiple Documents, say, the Document data is called "a" and "b", then the result of processing all the Document data (a and then b) MUST be treated as a single sequence of Media Sheets for finishing processes; that is, finishing is performed on the concatenation of the sequences a(*),b(*). The Printer MUST NOT force the data in each Document instance to be formatted onto a new Impression, nor to start a new Impression on a new Media Sheet. If more than one copy is made, the ordering of the sets of Media Sheets resulting from processing the Document data MUST be a(*), b(*), a(*), b(*), ..., and the Printer MUST force each copy (a(*),b(*)) to start on a new Media Sheet. o 'separate-documents-uncollated-copies': If a Job has multiple Documents, say, the Document data is called "a" and "b", then the result of processing the data in each Document instance MUST be treated as a single sequence of Media Sheets for finishing processes; that is, the sets a(*) and b(*) would each be finished separately. The Printer MUST force each copy of the result of processing the data in a single Document to start on a new Media Sheet. If more than one copy is made, the ordering of the sets of Media Sheets resulting from processing the Document data MUST be a(*), a(*), ..., b(*), b(*), ... .
Top   ToC   RFC8011 - Page 114
   o  'separate-documents-collated-copies': If a Job has multiple
      Documents, say, the Document data is called "a" and "b", then the
      result of processing the data in each Document instance MUST be
      treated as a single sequence of Media Sheets for finishing
      processes; that is, the sets a(*) and b(*) would each be finished
      separately.  The Printer MUST force each copy of the result of
      processing the data in a single Document to start on a new Media
      Sheet.  If more than one copy is made, the ordering of the sets of
      Media Sheets resulting from processing the Document data MUST be
      a(*), b(*), a(*), b(*), ... .

   o  'single-document-new-sheet': Same as 'single-document', except
      that the Printer MUST ensure that the first Impression of each
      Document instance in the Job is placed on a new Media Sheet.  This
      value allows multiple Documents to be stapled together with a
      single staple where each Document starts on a new Media Sheet.

   The 'single-document' value is the same as
   'separate-documents-collated-copies' with respect to the ordering of
   Input Pages, but not Media Sheet generation, since 'single-document'
   will put the first page of the next Document on the back side of a
   Media Sheet if an odd number of pages have been produced so far for
   the Job, while 'separate-documents-collated-copies' always forces the
   next Document or Document copy on to a new Media Sheet.  In addition,
   if the "finishings" attribute specifies 'staple', then with
   'single-document', Documents a and b are stapled together as a single
   Set with no regard to a new Media Sheet, while with
   'single-document-new-sheet', Documents a and b are stapled together
   as a single Set but Document b starts on a new Media Sheet.  With
   'separate-documents-uncollated-copies' and
   'separate-documents-collated-copies', Documents a and b are stapled
   separately.

   Note: The value 'separate-documents-uncollated-copies' produces
   uncollated Media Sheets within a Set, e.g., when "copies" is '2' a
   two-Document Job will be printed as Media Sheets a(1), a(1), a(2),
   a(2), ... a(n), a(n), b(1), b(1), ..., b(n), b(n).  All other values
   produce collated Media Sheets within a Set.

   The relationship of this attribute and the other attributes that
   control Document processing is described in Appendix C.3.
Top   ToC   RFC8011 - Page 115

5.2.5. copies (integer(1:MAX))

This RECOMMENDED attribute specifies the number of copies to be printed. On many devices, the supported number of collated copies will be limited by the number of physical output bins on the device and can be different from the number of uncollated copies that can be supported. Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

5.2.6. finishings (1setOf type2 enum)

This RECOMMENDED attribute identifies the finishing processes that the Printer uses for each copy of each printed Document in the Job. For Jobs with multiple Documents, the "multiple-document-handling" attribute determines what constitutes a "copy" for purposes of finishing. Standard enum values defined in this document are listed in Table 10. The 'staple-xxx' values are specified with respect to the Document as if the Document were in portrait orientation with the origin of each Media Sheet at the top left corner. If the Document is actually in landscape or reverse-landscape orientation, the Client supplies the appropriate transformed value. For example, to position a staple in the upper left-hand corner of a landscape Document when held for reading, the Client supplies the 'staple-bottom-left' value, since landscape is defined as a +90 degree rotation of the image with respect to the media from portrait, i.e., counterclockwise. On the other hand, to position a staple in the upper left-hand corner of a reverse-landscape Document when held for reading, the Client supplies the 'staple-top-right' value, since reverse-landscape is defined as a -90 degree rotation of the image with respect to the media from portrait, i.e., clockwise. The angle (vertical, horizontal, angled) of each staple with respect to the Document depends on the implementation, which can in turn depend on the value of the attribute.
Top   ToC   RFC8011 - Page 116
   Note: The effect of this attribute on Jobs with multiple Documents is
   controlled by the "multiple-document-handling" Job attribute
   (Section 5.2.4).  The relationship of this attribute and the other
   attributes that control Document processing is described in
   Appendix C.3.

   Note: The value of '3' ('none') has no effect when combined with any
   other values.

   Note: The "finishings-col" attribute [PWG5100.1] is an alternative to
   the "finishings" attribute that allows the Client to specify
   finishing intent in greater detail.

   +-----------+-------------------------------------------------------+
   | Value     | Symbolic Name and Description                         |
   +-----------+-------------------------------------------------------+
   | '3'       | 'none': Perform no finishing.                         |
   +-----------+-------------------------------------------------------+
   | '4'       | 'staple': Bind the Document(s) with one or more       |
   |           | staples.  The exact number and placement of the       |
   |           | staples are site defined.                             |
   +-----------+-------------------------------------------------------+
   | '5'       | 'punch': This value indicates that holes are required |
   |           | in the finished Document.  The exact number and       |
   |           | placement of the holes are site defined.  The punch   |
   |           | specification MAY be satisfied (in a site-specific    |
   |           | and implementation-specific manner) either by         |
   |           | drilling/punching or by substituting pre-drilled      |
   |           | media.                                                |
   +-----------+-------------------------------------------------------+
   | '6'       | 'cover': This value is specified when it is desired   |
   |           | to select a non-printed (or pre-printed) cover for    |
   |           | the Document.  This does not supplant the             |
   |           | specification of a printed cover (on cover stock      |
   |           | medium) by the Document itself.                       |
   +-----------+-------------------------------------------------------+
   | '7'       | 'bind': This value indicates that a binding is to be  |
   |           | applied to the Document; the type and placement of    |
   |           | the binding are site defined.                         |
   +-----------+-------------------------------------------------------+
   | '8'       | 'saddle-stitch': Bind the Document(s) with one or     |
   |           | more staples (wire stitches) along the middle fold.   |
   |           | The exact number and placement of the staples and the |
   |           | middle fold are implementation defined and/or site    |
   |           | defined.                                              |
Top   ToC   RFC8011 - Page 117
   +-----------+-------------------------------------------------------+
   | '9'       | 'edge-stitch': Bind the Document(s) with one or more  |
   |           | staples (wire stitches) along one edge.  The exact    |
   |           | number and placement of the staples are               |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '10'-'19' | reserved for future generic finishing enum values.    |
   +-----------+-------------------------------------------------------+
   | '20'      | 'staple-top-left': Bind the Document(s) with one or   |
   |           | more staples in the top left corner.                  |
   +-----------+-------------------------------------------------------+
   | '21'      | 'staple-bottom-left': Bind the Document(s) with one   |
   |           | or more staples in the bottom left corner.            |
   +-----------+-------------------------------------------------------+
   | '22'      | 'staple-top-right': Bind the Document(s) with one or  |
   |           | more staples in the top right corner.                 |
   +-----------+-------------------------------------------------------+
   | '23'      | 'staple-bottom-right': Bind the Document(s) with one  |
   |           | or more staples in the bottom right corner.           |
   +-----------+-------------------------------------------------------+
   | '24'      | 'edge-stitch-left': Bind the Document(s) with one or  |
   |           | more staples (wire stitches) along the left edge.     |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '25'      | 'edge-stitch-top': Bind the Document(s) with one or   |
   |           | more staples (wire stitches) along the top edge.  The |
   |           | exact number and placement of the staples are         |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '26'      | 'edge-stitch-right': Bind the Document(s) with one or |
   |           | more staples (wire stitches) along the right edge.    |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '27'      | 'edge-stitch-bottom': Bind the Document(s) with one   |
   |           | or more staples (wire stitches) along the bottom      |
   |           | edge.  The exact number and placement of the staples  |
   |           | are implementation defined and/or site defined.       |
   +-----------+-------------------------------------------------------+
   | '28'      | 'staple-dual-left': Bind the Document(s) with two     |
   |           | staples (wire stitches) along the left edge, assuming |
   |           | a portrait Document (see above).                      |
Top   ToC   RFC8011 - Page 118
   +-----------+-------------------------------------------------------+
   | '29'      | 'staple-dual-top': Bind the Document(s) with two      |
   |           | staples (wire stitches) along the top edge, assuming  |
   |           | a portrait Document (see above).                      |
   +-----------+-------------------------------------------------------+
   | '30'      | 'staple-dual-right': Bind the Document(s) with two    |
   |           | staples (wire stitches) along the right edge,         |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+
   | '31'      | 'staple-dual-bottom': Bind the Document(s) with two   |
   |           | staples (wire stitches) along the bottom edge,        |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+

                    Table 10: "finishings" Enum Values

5.2.7. page-ranges (1setOf rangeOfInteger(1:MAX))

This RECOMMENDED attribute identifies the range(s) of Input Pages that the Printer uses for each Set to be printed prior to imposition of those pages onto Impressions. Nothing is printed for any pages identified that do not exist in the Set/Document(s). Ranges MUST be in ascending order (1-3, 5-7, 15-19, etc.) and MUST NOT overlap so that a non-spooling Printer can process the Job in a single pass. If the ranges are not ascending or are overlapping, the Printer MUST reject the request and return the 'client-error-bad-request' status-code. The attribute is associated with Input Pages and not application-numbered pages such as the page numbers found in the headers and/or footers for certain word processing applications. For Jobs with multiple Documents, the "multiple-document-handling" attribute determines what constitutes a Set for purposes of the specified page range(s). When "multiple-document-handling" is 'single-document', the Printer MUST apply each supplied page range once to the concatenation of the Input Pages. For example, if there are 8 Documents of 10 pages each, the page range '41-60' prints the pages in the 5th and 6th Documents as a single Document, and none of the pages of the other Documents are printed. When "multiple-document-handling" is 'separate-documents-uncollated-copies' or 'separate-documents-collated-copies', the Printer MUST apply each supplied page range repeatedly to each Document copy. For the same Job, the page range '1-3, 10-10' would print the first 3 pages and the 10th page of each of the 8 Documents in the Job, as 8 separate Sets.
Top   ToC   RFC8011 - Page 119
   "page-ranges-supported" is a boolean value indicating whether the
   Printer is capable of supporting the printing of page ranges.  This
   capability can differ from one PDL to another.  There is no
   "page-ranges-default" attribute.  If the "page-ranges" attribute is
   not supplied by the Client, all pages of the Document are printed.

   Note: In many cases, the Client supplies only those Input Pages that
   need to be printed in the Document data, and the "page-ranges" Job
   Template attribute is not used.  However, Clients that submit
   already-generated Document data (either static content from some web
   site or previously submitted content the End User wishes to reprint)
   can use this attribute to print just a subset of the pages contained
   in the Document.  In this case, if a "page-ranges" value of 'n-m' is
   specified, the first page to be printed will be page n.  All
   subsequent pages of the Document will be printed through and
   including page m.

   Note: The effect of this attribute on Jobs with multiple Documents is
   controlled by the "multiple-document-handling" Job attribute
   (Section 5.2.4).  The relationship of this attribute and the other
   attributes that control Document processing is described in
   Appendix C.3.

5.2.8. sides (type2 keyword)

This RECOMMENDED attribute specifies how Impressions are placed upon the sides of a Media Sheet. The standard 'keyword' values are: o 'one-sided': imposes each consecutive Impression upon the same side of consecutive Media Sheets. o 'two-sided-long-edge': imposes each consecutive pair of Impressions upon front and back sides of consecutive Media Sheets, such that the orientation of each pair of Impressions on the medium would be correct for the reader as if for binding on the long edge. This imposition is sometimes called 'duplex' or 'head-to-head'. o 'two-sided-short-edge': imposes each consecutive pair of Impressions upon front and back sides of consecutive Media Sheets, such that the orientation of each pair of Impressions on the medium would be correct for the reader as if for binding on the short edge. This imposition is sometimes called 'tumble' or 'head-to-toe'.
Top   ToC   RFC8011 - Page 120
   Note: The effect of this attribute on Jobs with multiple Documents is
   controlled by the "multiple-document-handling" Job attribute
   (Section 5.2.4).  The relationship of this attribute and the other
   attributes that control Document processing is described in
   Appendix C.3.

5.2.9. number-up (integer(1:MAX))

This attribute specifies the number of Input Pages to impose upon a single Impression. For example, if the value is: o '1': the Printer MUST place one Input Page on a single Impression. o '2': the Printer MUST place two Input Pages on a single Impression. o '4': the Printer MUST place four Input Pages on a single Impression. In all cases, the Printer MAY add some sort of translation, scaling, or rotation of Input Pages when imposing them. Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

5.2.10. orientation-requested (type2 enum)

This RECOMMENDED attribute indicates the desired orientation for printed Input Pages; it does not describe the orientation of the Client-supplied Input Pages. For some Document formats (such as 'application/postscript'), the desired orientation of the Input Pages is sometimes specified within the Document data. This information is generated by a Printer driver prior to the submission of the Print Job. Other Document formats such as 'text/plain' do not include the notion of desired orientation within the Document data. In the latter case, it is possible for the Printer to bind the desired orientation to the Document data after it has been submitted. Printers MAY only support "orientation-requested" for some Document formats (e.g., 'text/plain' or 'text/html') but not others (e.g., 'application/postscript'). This is no different than any other Job Template attribute, since Section 5.2, item 1, points out that a Printer can support or not support any Job Template attribute based on the Document format
Top   ToC   RFC8011 - Page 121
   supplied by the Client.  However, a special mention is made here,
   since it is very likely that a Printer will support
   "orientation-requested" for only a subset of the supported Document
   formats.

   Standard enum values are listed in Table 11.

   Note: The effect of this attribute on Jobs with multiple Documents is
   controlled by the "multiple-document-handling" Job attribute
   (Section 5.2.4).  The relationship of this attribute and the other
   attributes that control Document processing is described in
   Appendix C.3.
Top   ToC   RFC8011 - Page 122
   +-------+-----------------------------------------------------------+
   | Value | Symbolic Name and Description                             |
   +-------+-----------------------------------------------------------+
   | '3'   | 'portrait': The content will be imaged across the short   |
   |       | edge of the medium.                                       |
   +-------+-----------------------------------------------------------+
   | '4'   | 'landscape': The content will be imaged across the long   |
   |       | edge of the medium.  Landscape is defined to be a         |
   |       | rotation of the Input Page to be imaged by +90 degrees    |
   |       | with respect to the medium (i.e., counterclockwise) from  |
   |       | the portrait orientation.  Note: The +90 direction was    |
   |       | chosen because simple finishing on the long edge is the   |
   |       | same edge whether portrait or landscape.                  |
   +-------+-----------------------------------------------------------+
   | '5'   | 'reverse-landscape': The content will be imaged across    |
   |       | the long edge of the medium.  Reverse-landscape is        |
   |       | defined to be a rotation of the Input Page to be imaged   |
   |       | by -90 degrees with respect to the medium (i.e.,          |
   |       | clockwise) from the portrait orientation.  Note: The      |
   |       | 'reverse-landscape' value was added because some          |
   |       | applications rotate landscape -90 degrees from portrait,  |
   |       | rather than +90 degrees.                                  |
   +-------+-----------------------------------------------------------+
   | '6'   | 'reverse-portrait': The content will be imaged across the |
   |       | short edge of the medium.  Reverse-portrait is defined to |
   |       | be a rotation of the Input Page to be imaged by 180       |
   |       | degrees with respect to the medium from the portrait      |
   |       | orientation.  Note: The 'reverse-portrait' value was      |
   |       | added for use with the "finishings" attribute in cases    |
   |       | where the opposite edge is desired for finishing a        |
   |       | portrait Document on simple finishing devices that have   |
   |       | only one finishing position.  Thus, a 'text'/plain'       |
   |       | portrait Document can be stapled "on the right" by a      |
   |       | simple finishing device, as is common use with some       |
   |       | Middle Eastern languages such as Hebrew.                  |
   +-------+-----------------------------------------------------------+

               Table 11: "orientation-requested" Enum Values
Top   ToC   RFC8011 - Page 123

5.2.11. media (type2 keyword | name(MAX))

This RECOMMENDED attribute identifies the medium that the Printer uses for all Impressions of the Job. The values for "media" historically have included medium names, medium sizes, input trays, and electronic forms so that one attribute specifies the media. However, the Client SHOULD only use the media attribute to specify medium sizes using PWG Media Standardized Names [PWG5101.1]. If a Printer supports a medium name as a value of this attribute, such a medium name implicitly selects an input tray that contains the specified medium. If a Printer supports a medium size as a value of this attribute, such a medium size implicitly selects a medium name that in turn implicitly selects an input tray that contains the medium with the specified size. If a Printer supports an input tray as the value of this attribute, such an input tray implicitly selects the medium that is in that input tray at the time the Job prints. This case includes manual-feed input trays. If a Printer supports an electronic form as the value of this attribute, such an electronic form implicitly selects a medium name that in turn implicitly selects an input tray that contains the medium specified by the electronic form. The electronic form also implicitly selects an image that the Printer MUST merge with the Document data as it prints each page. PWG Media Standardized Names [PWG5101.1] SHOULD be used. Legacy 'keyword' values are taken from ISO DPA [ISO10175], the Printer MIB [RFC3805], and ASME-Y14.1M [ASME-Y14.1M]. An Administrator MAY define additional values using the 'name' or 'keyword' attribute syntax, depending on implementation. There is also an additional Printer attribute named "media-ready", which differs from "media-supported" in that legal values only include the subset of "media-supported" values that are physically loaded and ready for printing with no Operator intervention required. The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3. Note: If supported by the Printer, Clients MAY use the alternative "media-col" attribute [PWG5100.3] [PWG5100.13] to specify medium requirements in greater detail.
Top   ToC   RFC8011 - Page 124

5.2.12. printer-resolution (resolution)

This RECOMMENDED attribute identifies the output resolution that the Printer uses for the Job. Note: This attribute and the "print-quality" attribute (Section 5.2.13) are both used to specify the overall output quality of the Job. If a Client specifies conflicting "printer-resolution" and "print-quality" values, Printers SHOULD use the "print-quality" value.

5.2.13. print-quality (type2 enum)

This RECOMMENDED attribute specifies the print quality that the Printer uses for the Job. The standard enum values are listed in Table 12. Note: This attribute and the "printer-resolution" attribute (Section 5.2.12) are both used to specify the overall output quality of the Job. If a Client specifies conflicting "printer-resolution" and "print-quality" values, Printers SHOULD use the "print-quality" value. +-------+---------------------------------------------------------+ | Value | Symbolic Name and Description | +-------+---------------------------------------------------------+ | '3' | 'draft': lowest quality available on the Printer | +-------+---------------------------------------------------------+ | '4' | 'normal': normal or intermediate quality on the Printer | +-------+---------------------------------------------------------+ | '5' | 'high': highest quality available on the Printer | +-------+---------------------------------------------------------+ Table 12: "print-quality" Enum Values


(page 124 continued on part 8)

Next Section