Class PageRanges is a printing attribute class, a set of integers, that
identifies the range(s) of print-stream pages that the Printer object uses
for each copy of each document which are to be printed. Nothing is printed
for any pages identified that do not exist in the document(s). The attribute
is associated with print-stream pages, not application-numbered pages
(for example, the page numbers found in the headers and or footers for
certain word processing applications).
In most cases, the exact pages to be printed will be generated by a device
driver and this attribute would not be required. However, when printing an
archived document which has already been formatted, the end user may elect to
print just a subset of the pages contained in the document. In this case, if
a page range 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.
If a PageRanges attribute is not specified for a print job, all pages of
the document will be printed. In other words, the default value for the
PageRanges attribute is always {{1, Integer.MAX_VALUE}} .
The effect of a PageRanges attribute on a multidoc print job (a job with
multiple documents) depends on whether all the docs have the same page ranges
specified or whether different docs have different page ranges specified, and
on the (perhaps defaulted) value of the {@link MultipleDocumentHandling
MultipleDocumentHandling} attribute.
-
If all the docs have the same page ranges specified, then any value of {@link
MultipleDocumentHandling MultipleDocumentHandling} makes sense, and the
printer's processing depends on the {@link MultipleDocumentHandling
MultipleDocumentHandling} value:
-
SINGLE_DOCUMENT -- All the input docs will be combined together into one
output document. The specified page ranges of that output document will be
printed.
-
SINGLE_DOCUMENT_NEW_SHEET -- All the input docs will be combined together
into one output document, and the first impression of each input doc will
always start on a new media sheet. The specified page ranges of that output
document will be printed.
-
SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, the
specified page ranges will be printed.
-
SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, the
specified page ranges will be printed.
-
SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- For each separate input doc, its own
specified page ranges will be printed..
-
SEPARATE_DOCUMENTS_COLLATED_COPIES -- For each separate input doc, its own
specified page ranges will be printed..
IPP Compatibility: The PageRanges attribute's canonical array form
gives the lower and upper bound for each range of pages to be included in
and IPP "page-ranges" attribute. See class {@link
javax.print.attribute.SetOfIntegerSyntax SetOfIntegerSyntax} for an
explanation of canonical array form. The category name returned by
getName() gives the IPP attribute name.
|