tech-invite   World Map     

3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search

RFC 8011

 
 
 

Internet Printing Protocol/1.1: Model and Semantics

Part 7 of 12, p. 106 to 124
Prev Section       Next Section

 


prevText      Top      ToC       Page 106 
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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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