Subject: IPP> MOD - draft of text on document processing

From: [email-masked] (Stephen Zilles)
Date: Wed, 22 Oct 1997 18:18:05 PDT

The following is the proprosed text to add a section 16.4 to Appendix E
for the purpose of describing how the processing attributes, such as
Nup, Duplex, etc., are used in processing the document. Because I had to
do some creative thinking is writing this algorithm, I am sending it out
for comment as well as for inclusion in the draft. I am missing the
suggested edits for the attribute descriptions them selves.  I think
each of the attributes mentioned below should have a sentence like, "The
relationship of this attribute and the other attributes that control
document processing is described in Appendix E, section 16.4"

Glossary (I haven't the foggiest where these defns should go in the
Model document)

  print-stream page: a page according to the definition of pages in the
     language used to express the document data. 

  imposed page: a page created by placing N print-stream pages onto a
     single page.

16.4 Using Job-template attributes during document processing.

Some of the Job-template attributes are to be used during the processing
of the document data. These include, but are not limited to, "orientation",
"number-up", "sides", "media" "copies". The processing of each Document Object
in a Job Object SHALL follow the algorithm below. This algorithm is
intended only to identify when and how attributes are to be used in
processing document data and any algorithm that accomplishs the same
effect can be used to implement this specification.

1. Using the "document-format" attribute or some form of format
detection algorithm (if the value of "document-format" is not specific
enough), determine whether or not the document data has already been
formatted for printing. If the document data has been formatted, then
goto step 2. Otherwise, the document data SHALL be formatted. The
formatting algorithm is implementation defined and is not specified by
this specification. The formatting of the document data uses the
"orientation" attribute to determine how the formatted print data is
place on a print-stream page, see section 4.2.15 for the details.

2. The document data is in the form of a print-stream in a known media
type. The "page-range" attribute is used to select, as specified in
section 4.2.14, a sub-sequence of the pages in the print-stream that are
to be processed and images.

3. The input to this step is sequence of print-stream pages. This step
is controlled by the "number-up" attribute. If value of "number-up" is
N, then during the processing of the print-stream pages, each N
print-stream pages are positioned, as specified in section 4.2.8, to
create a single imposed page. If a given Document Object does not have N
more print-stream pages, then the completion of the imposed page is
controlled by the "multiple-document-handling" attribute as described in
section 4.2.6; when the value of this attribute is
'separate-documents-collated-copies', the document data from subsequent
Document Objects is used to complete the imposed page.

The size(scaling), position(translation) and rotation of the
print-stream pages on the imposed page is implementation defined. Note
that during this process the print-stream pages may be rendered to a
form suitable for placing on the imposed page; this rendering is
controlled by the values of the "printer-resolution" and "print-quality"
attributes as described in sections 4.2.10 and 4.2.11. In the case N=1, the
imposed pages are are nearly the same as the print-stream pages; the
differences would only be in the size, postion and rotation of the
print-stream page and/or any decoration, such as a frame to the page,
that is added by the implementation.

4. The collection of imposed pages is placed, in sequence, onto sides of
the print media. This placement is controled by the "sides" attribute
and the orientation of the page, as described in section 4.2.9. The
orientation of the page is defined by the orientation of the imposed
pages; for example, if "number-up" equals 2, then, typically, two
portrait print-stream pages become one landscape imposed page. Note that
the placement of imposed pages onto media instances is also controlled
by the "multiple-document-handling" attribute as described in section
4.2.6. 

5. The "copies" and "multiple-document-handling" attributes are used to
determine how many copies of each media instance are created and in what
order. See sections 4.2.6 and 4.2.13 for the details.

6. When the correct number of copies are created, the media instances
are finished according to the values of the "finishings" attribute as
described in 4.2.12. Note that sometimes finishing operations may
require manual intervention to perform the finishing operations on the
copies, especially uncollated copies. This specification allows any
or all of the processing steps to be performed automatically or manually
at the descretion of the implementation of the Printer Object.