The "sheet-collate" (boolean) Job Template attribute is defined in both the
"Job Progress Attributes" and the Production Printing Attributes - Set1
spec. The Production Printing Definition goes into more detail explaining
the interaction with "multiple-document-handling" in more detail.
ISSUE: Since sheet-collate is a useful Job Template attribute for
non-Production Printers and is needed for Job Progress for notification, I
think that it should only appear in the Job Progress Attributes spec after
agreeing on the specification.
The Job Progress Attributes spec:
1.1 "sheet-collate" (boolean)
+===================+======================+======================+
| Job Attribute |Printer: Default Value| Printer: Supported |
| | Attribute | Values Attribute |
+===================+======================+======================+
| sheet-collate | sheet-collate-default| sheet-collate- |
| (boolean) | (boolean) | supported (1setOf |
| | | boolean) |
+-------------------+----------------------+----------------------+
This attribute specifies whether or not the media sheets of each copy of
each printed document in a job are to be in sequence, when multiple copies
of the document are specified by the 'copies' attribute. When
"sheet-collate" is 'true', each copy of each document is printed with the
print-stream sheets in sequence. When 'sheet-collate' is 'false', each
print-stream sheet is printed a number of times equal to the value of the
'copies' attribute in succession. For example, suppose a document which
produces two media sheets as output, and "copies" is equal to '6', in this
case six copies of the first media sheet are printed followed by six copies
of the second media sheet.
Whether the effect of sheet collation is achieved by placing copies of a
document in multiple output bins or in the same output bin with
implementation defined document separation is implementation dependent.
Also whether it is achieved by making multiple passes over the job or by
using an output sorter is implementation dependent.
Note: IPP/1.0 [RFC2566] and IPP/1.1 [ipp-mod] is silent on whether or not
sheets within documents are collated. The "sheet-collate-supported"
attribute permits a Printer object to indicate whether or not it collates
sheets with each document and whether it allows the client to control sheet
collation. An implementation is able to indicate that it supports
uncollated sheets, collated sheets, or both, using 'false', 'true', or both
'false' and 'true' values, respectively.
The spec in the "Production Printing Attributes - Set1 is:
sheet-collate (boolean) sheet-collate-default (boolean)
sheet-collate-supported (1setOf boolean)
1.1 sheet-collate (boolean)
This attribute specifies whether or not the media sheets of each copy of
each printed document in a job are to be in sequence, when multiple copies
of the document are specified by the 'copies' attribute. When
"sheet-collate" is 'true', each copy of each document is printed with the
print-stream sheets in sequence. When 'sheet-collate' is 'false', each
print-stream sheet is printed a number of times equal to the value of the
'copies' attribute in succession. For example, suppose a document which
produces two media sheets as output, and "copies" is equal to '6', in this
case six copies of the first media sheet are printed followed by six copies
of the second media sheet.
Whether the effect of sheet collation is achieved by placing copies of a
document in multiple output bins or in the same output bin with
implementation defined document separation is implementation dependent.
Also whether it is achieved by making multiple passes over the job or by
using an output sorter is implementation dependent.
This attribute is affected by "multiple-document-handling." The
"multiple-document-handling" attribute describes the collation of documents,
and the "sheet-collate" attribute describes the semantics of collating
individual pages within a document. To better explain the interaction
between these two attributes the term "set" is introduced. A "set" is a
logical boundary between the delivered media sheets of a printed job.
For-example, in the case of a ten page single document with collated pages
and a request for ten copies, each of the ten printed copies of the document
constitutes a "set." In the above example if the pages were uncollated,
then ten copies of each of the individual pages within the document would
represent each "set".
The following table describes the interaction of "sheet-collate" with
multiple document handling.
"sheet-collate" "multiple-document-handling" Semantics
'true' 'single-document' Each copy of the concatenated documents,
with their pages in sequence, represents a "set."
'true' 'single-document-new-sheet' Each copy of the concatenated
documents, with their pages in sequence, represents a "set."
'true' 'separate-documents-collated-copies' Each copy of each separate
document, with its pages in sequence, represents a "set."
'true' 'separate-documents-uncollated-copies Each copy of each separate
document, with its pages in sequence, represents a "set."
'false' 'single-document' Each media sheet of the document is printed
a number of times equal to the "copies" attribute; which constitutes a
"set."
'false' 'single-document-new-sheet' Each media sheet of the concatenated
documents is printed a number of times equal to the "copies" attribute;
which constitutes a "set."
'false' 'separate-documents-collated-copies' This is a degenerate case,
and the printer object MUST reject the job and return the status,
"client-error-conflicting-attributes."
'false' 'separate-documents-uncollated-copies This is a degenerate case,
and the printer object MUST reject the job and return the status
"client-error-conflicting-attributes."
>From the above table it is obvious that the implicit value of the
"sheet-collate" attribute in a printer that does not support the
"sheet-collate" attribute, is 'true.' The semantics of
"multiple-document-handling" are otherwise nonsensical in the case of
separate documents.
Whether the effect of page collation is achieved by placing copies of a
document in multiple output bins or in the same output bin with
implementation defined document separation is implementation dependent.
Also whether it is achieved by making multiple passes over the job or by
using an output sorter is implementation dependent.
1.1.1 sheet-collate-supported (1setOf boolean)
This attribute specifies the values of "sheet-collate"
supported by the Printer.
Note: IPP/1.0 [RFC2566] and IPP/1.1 [ipp-mod] is silent on
whether or not sheets within documents are collated. The
"sheet-collate-supported" attribute permits a Printer object to indicate
whether or not it collates sheets with each document and whether it allows
the client to control sheet collation. An implementation is able to
indicate that it supports uncollated sheets, collated sheets, or both, using
'false', 'true', or both 'false' and 'true' values, respectively, for this
attribute.
ISSUE 03 - Should we change the name from "collate-sheets"
to "uncollated-sheets", since the absence of the attribute (and non-support
of this attribute) is more likely to indicate collated sheets and so should
be the 'false' value of the attribute, rather than the 'true' value?