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').
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).
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) | | |
+------------------+----------------------+-------------------------+ | 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 Attributes5.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.
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.
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" Values5.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
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
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(*), ... .
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.
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.
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. |
+-----------+-------------------------------------------------------+
| '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). |
+-----------+-------------------------------------------------------+ | '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 Values5.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.
"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'.
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
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.
+-------+-----------------------------------------------------------+ | 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
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.
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