A Project of the PWG IPP Working Group

Internet Printing Protocol (IPP): 
“finishings” attribute values extension

IEEE-ISTO Printer Working Group
Standard 5100.1-2001

February 5, 2001

Abstract
This document specifies the additional enum values ‘fold’, ‘trim’, ‘bale’, ‘booklet-maker’, ‘jog-offset’, ‘bind-left’, ‘bind-top’, ‘bind-right’, and ‘bind-bottom’ for the IPP “finishings” Job Template attribute for use with the Internet Printing Protocol/1.0 (IPP) [RFC2566, RFC2565] and Internet Printing Protocol/1.1 (IPP) [RFC2911, RFC2910].  This attribute permits the client to specify additional finishing options, including values that include a specification of a coordinate system for the placement of finishings operation with respect to the corners and edges of portrait and landscape documents.

This document is an IEEE-ISTO PWG Draft standard.  For a definition of a "PWG Draft Standard", see:  ftp://ftp.pwg.org/pub/pwg/general/pwg-process.pdf
This document is available from:  ftp://ftp.pwg.org/pub/pwg/standards/pwg5100.1.pdf, .doc, .rtf

Copyright (C) 2001, IEEE Industry Standards and Technology Organization. All rights reserved. 
This document may be copied and furnished to others, and derivative works that comment on, or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice, this paragraph and the title of the Document as referenced below are included on all such copies and derivative works.  However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the IEEE-ISTO and the Printer Working Group, a program of the IEEE-ISTO. 
Title:  Internet Printing Protocol (IPP): “finishings” attribute values extension
The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
The Printer Working Group, a program of the IEEE-ISTO, reserves the right to make changes to the document without further notice.  The document may be updated, replaced or made obsolete by other documents at any time. 
The IEEE-ISTO takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. 
The IEEE-ISTO invites any interested party to bring to its attention any copyrights, patents, or patent applications, or other proprietary rights which may cover technology that may be required to implement the contents of this document. The IEEE-ISTO and its programs shall not be responsible for identifying patents for which a license may be required by a document and/or IEEE-ISTO Industry Group Standard or for conducting inquiries into the legal validity or scope of those patents that are brought to its attention. Inquiries may be submitted to the IEEE-ISTO by e-mail at: 
ieee-isto@ieee.org.
The Printer Working Group acknowledges that the IEEE-ISTO (acting itself or through its designees) is, and shall at all times, be the sole entity that may authorize the use of certification marks, trademarks, or other special designations to indicate compliance with these materials. 
Use of this document is wholly voluntary.  The existence of this document does not imply that there are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to its scope. 

TABLE OF CONTENTS
  
1	Introduction
1.1	Problem
1.2	Solution
2	Complete “finishings” Job Template attribute definition
3	Conformance Requirements
4	IANA Considerations
5	Internationalization Considerations
6	Security Considerations
7	References
8	Author’s Addresses
9	Appendix A: Summary of other IPP documents
10	Appendix B: Description of the IEEE Industry Standards and Technology (ISTO)
11	Appendix C: Description of the IEEE-ISTO PWG

1	Introduction
1.1	Problem
Need additional enum values for finishing to specify which of four corners to put a single staple, which of four edges to put two staples, which of four edges to bind, and generic values for the following: fold, trim, bale, saddle stitch, edge stitch, signature booklet maker and jog-offset.
1.2	Solution
The coordinate system scheme agrees with the Finisher MIB which in turn follows the ISO DPA approach of using a coordinate system as if the document were portrait.  The approach for coordinate system being relative to the intended reading direction depends on the device being able to understand the orientation embedded in the PDL, which is too problematic for many PDLs.  The approach for the coordinate system of being relative to the media feed direction is too dependent on the way the device is currently set up, i.e., pulling short edge first vs. long edge first, and can vary between different output-bins in the same device.
Additional (new) symbolic names of these enum values are:	
fold
trim
bale
booklet-maker
jog-offset
bind-left
bind-top
bind-right
bind-bottom

Although not a part of this specification, more specific values for saddle-stitch and fold could be considered once adequate definitions have been developed.  Some examples are:
saddle-stitch-single-long
saddle-stitch-single-short
saddle-stitch-dual-long
saddle-stitch-dual-short
fold-in-half-long
fold-in-half-short
fold-in-thirds-long
fold-in-thirds-short
fold-z-long
fold-z-short

2	Complete “finishings” Job Template attribute definition
Note: [RFC2911] defines generic enum values:  3-9 and more-specific stitching and stapling enum values:  20-31.  This document defines generic enum values:  10-14 and more specific binding enum values:  50-53.  The entire definition of “finishings” from [RFC2911] section 4.2.6 is reproduced here verbatim with the addition of the new enum values for the convenience of the reader.
4.2.6 finishings (1setOf type2 enum)
This attribute identifies the finishing operations 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 are:
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 is site-defined.
‘5’	‘punch’:  This value indicates that holes are required in the finished document. The exact number and placement of the holes is site-defined  The punch specification MAY be satisfied (in a site- 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 is 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 is implementation 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 is implementation and/or site-defined.
‘10’	‘fold’:  Fold the document(s) with one or more folds.  The exact number and orientations of the folds is implementation and/or site-defined.
‘11’	‘trim’:  Trim the document(s) on one or more edges.  The exact number of edges and the amount to be trimmed is implementation and/or site-defined.
‘12’	‘bale’:  Bale the document(s).  The type of baling is implementation and/or site-defined.
‘13’	‘booklet-maker’:  Deliver the document(s) to the signature booklet maker. This value is a short cut for specifying a job that is to be folded, trimmed and then saddle-stitched.
‘14’	‘jog-offset’:  Shift each copy of an output document from the previous copy by a small amount which is device dependent.  This value has no effect on the “job-sheet”.  This value SHOULD NOT have an effect if each copy of the job consists of one sheet.
‘15’-’19’	reserved for future generic finishing enum values.
The following values are more specific stapling, stitching and binding values; they indicate a corner or an edge as if the document were a portrait document (see section 4.2.6.1):
‘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 is implementation 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 is implementation 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 is implementation 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 is implementation 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).
‘32’-’49’	reserved for future specific stapling and stitching enum values.

‘50’	‘bind-left’: Bind the document(s) along the left edge; the type of the binding is site-defined.
‘51’	‘bind-top’: Bind the document(s) along the top edge; the type of the binding is site-defined.
‘52’	‘bind-right’: Bind the document(s) along the right edge; the type of the binding is site-defined.
‘53’	‘bind-bottom’: Bind the document(s) along the bottom edge; the type of the binding is site-defined.
‘54’-MAX	reserved for future specific binding enum values and other groups of enum values, such as folding, trimming, and baling.
The ‘staple-xxx’ values are specified with respect to the document as if the document were a portrait document.  If the document is actually a landscape or a reverse-landscape document, 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., anti-clockwise).  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 may 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 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.
If the client supplies a value of ‘none’ along with any other combination of values, it is the same as if only that other combination of values had been supplied (that is the ‘none’ value has no effect).
3	Conformance Requirements
The Printer and client conformance requirements for supporting this attribute are the same as for any Job Template attribute values (see [RFC2911]).
4	IANA Considerations
These “finishings” type2 enum attribute values defined in this document will be published by IANA according to the procedures in RFC 2911 [RFC2911] section 6.1 with the following path:
ftp.isi.edu/iana/assignments/ipp/attribute-values/finishings/
The registry entry will contain the following information:
Reference:  
ftp://ftp.pwg.org/pub/pwg/standards/pwg5100.1.pdf      Section 2

Additional type2 enum values for "finishings":            Value:
fold                                                       10
trim                                                       11
bale                                                       12
booklet-maker                                              13
jog-offset                                                 14

bind-left                                                  50
bind-top                                                   51
bind-right                                                 52
bind-bottom                                                53

5	Internationalization Considerations
Normally, a client will provide localization of the enum values of this attribute to the language of the user.  
6	Security Considerations
This extension poses no additional security threats or burdens than those in IPP/1.0 [RFC2566, RFC2565] and IPP/1.1 [RFC2911, RFC2910].  However, implementations MAY support different access control to various finishing features, depending on the identity of the job submitting user.
7	References
[ipp-iig]
	Hastings, T., Manros, C., “Internet Printing Protocol/1.1:  <draft-ietf-ipp-implementers-guide-v11-02.txt>, work in progress, January 25, 2001.
[RFC2565]
	Herriot, R., Butler, S., Moore, P., Tuner, R., “Internet Printing Protocol/1.0: Encoding and Transport”, RFC 2565, April 1999.
[RFC2566]
	R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, “Internet Printing Protocol/1.0: Model and Semantics”, RFC 2566, April 1999.
[RFC2567]
	Wright, D., “Design Goals for an Internet Printing Protocol”, RFC 2567, April 1999.
[RFC2568]
	Zilles, S., “Rationale for the Structure and Model and Protocol for the Internet Printing Protocol”, RFC 2568, April 1999.
[RFC2569]
	Herriot, R., Hastings, T., Jacobs, N., Martin, J., “Mapping between LPD and IPP Protocols”, RFC 2569, April 1999.
[RFC2639]
	Hastings, T., Manros, C., “Internet Printing Protocol/1.0:  Implementer’s Guide”, RFC 2639, July 1999.
[RFC2910]
	Herriot, R., Butler, S., Moore, P., Turner, R., and J. Wenn, “Internet Printing Protocol/1.1: Encoding and Transport”, RFC 2910, September 2000.
[RFC2911]
	Hastings, T., Herriot, R., deBry, R., Isaacson, S., and P. Powell, “Internet Printing Protocol/1.1: Model and Semantics”, RFC 2911, September 2000.
8	Author’s Addresses
	Tom Hastings
	Xerox Corporation
	737 Hawaii St.  ESAE 231
	El Segundo, CA   90245

	Phone: 310-333-6413
	Fax:   310-333-5514
	e-mail: hastings@cp10.es.xerox.com

	Don Fullman
	Xerox Corporation
	737 Hawaii St.  ESAE 231
	El Segundo, CA   90245

	Phone: 310-333-8342
	Fax:   310-333-5514
	e-mail: dfullman@cp10.es.xerox.com

IPP Web Page:  http://www.pwg.org/ipp/
IPP Mailing List:  ipp@pwg.org

To subscribe to the ipp mailing list, send the following email:
1) send it to majordomo@pwg.org
2) leave the subject line blank
3) put the following two lines in the message body:
subscribe ipp
end
Implementers of this specification document are encouraged to join IPP Mailing List in order to participate in any discussions of clarification issues and review of registration proposals for additional attributes and values.
Other Participants:
Ron Bergman - Hitachi Koki Imaging Systems	Dan Calle - Digital Paper	
Weihai Chen - Microsoft	Lee Farrell - Canon Information Systems	
Satoshi Fujitani - Ricoh	Roelof Hamberg - Océ	
Tom Hastings - Xerox	Bob Herriot - Xerox	
David Kellerman - Northlake Software	Carl Kugler - IBM	
Harry Lewis - IBM	Carl-Uno Manros - Xerox	
Satoshi Matsushita - Brother	Ira McDonald - High North Inc.	
Paul Moore - Netreon	Hugo Parra, Novell	
Stuart Rowley - Kyocera	Gail Songer - Netreon	
Geoff Sorod - Software 2000	Jerry Thrasher - Lexmark	
Shinichi Tsuruyama - Epson	Atsushi Uchino - Epson	
Shigeru Ueda - Canon	William Wagner - NetSilicon/DPI	
Mark Vander Wiele - IBM	Don Wright - Lexmark	
Michael Wu - Heidelberg Digital	Peter Zehler - Xerox	

9	Appendix A: Summary of other IPP documents
The full set of IPP documents includes:
Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the Internet Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer’s Guide [IPP-IIG]
Mapping between LPD and IPP Protocols [RFC2569]

The “Design Goals for an Internet Printing Protocol” document takes a broad look at distributed printing functionality, and it enumerates real-life scenarios that help to clarify the features that need to be included in a printing protocol for the Internet.  It identifies requirements for three types of users: end users, operators, and administrators.  It calls out a subset of end user requirements that are satisfied in IPP/1.0.  A few OPTIONAL operator operations have been added to IPP/1.1.
The “Rationale for the Structure and Model and Protocol for the Internet Printing Protocol” document describes IPP from a high level view, defines a roadmap for the various documents that form the suite of IPP specification documents, and gives background and rationale for the IETF working group’s major decisions.  
The “Internet Printing Protocol/1.1: Encoding and Transport” document is a formal mapping of the abstract operations and attributes defined in the model document onto HTTP/1.1 [RFC2616].  It defines the encoding rules for a new Internet MIME media type called “application/ipp”.  This document also defines the rules for transporting over HTTP a message body whose Content-Type is “application/ipp”.  This document defines a new scheme named ‘ipp’ for identifying IPP printers and jobs.  
The “Internet Printing Protocol/1.1: Implementer’s Guide” document gives insight and advice to implementers of IPP clients and IPP objects.  It is intended to help them understand IPP/1.1 and some of the considerations that may assist them in the design of their client and/or IPP object implementations.  For example, a typical order of processing requests is given, including error checking.  Motivation for some of the specification decisions is also included.
The “Mapping between LPD and IPP Protocols” document gives some advice to implementers of gateways between IPP and LPD (Line Printer Daemon) implementations.
10	Appendix B: Description of the IEEE Industry Standards and Technology (ISTO)
The IEEE-ISTO is a not-for-profit corporation offering industry groups an innovative and flexible operational forum and support services.  The IEEE-ISTO provides a forum not only to develop standards, but also to facilitate activities that support the implementation and acceptance of standards in the marketplace.  The organization is affiliated with the IEEE (http://www.ieee.org/) and the IEEE Standards Association (http://standards.ieee.org/). 
For additional information regarding the IEEE-ISTO and its industry programs visit:
http://www.ieee-isto.org.
11	Appendix C: Description of the IEEE-ISTO PWG
The Printer Working Group (or PWG) is a Program of the IEEE Industry Standards and Technology Organization (ISTO) with member organizations including printer manufacturers, print server developers, operating system providers, network operating systems providers, network connectivity vendors, and print management application developers.  The group is chartered to make printers and the applications and operating systems supporting them work together better.  All references to the PWG in this document implicitly mean “The Printer Working Group, a Program of the IEEE ISTO.” In order to meet this objective, the PWG will document the results of their work as open standards that define print related protocols, interfaces, procedures and conventions. Printer manufacturers and vendors of printer related software will benefit from the interoperability provided by voluntary conformance to these standards. 
In general, a PWG standard is a specification that is stable, well understood, and is technically competent, has multiple, independent and interoperable implementations with substantial operational experience, and enjoys significant public support. 
For additional information regarding the Printer Working Group visit:  
http://www.pwg.org