Network Working Group R. Lutz Internet-Draft: draft-lutz-print-types-00.txt MFPA January 6, 1997 MIME media-types for Print Formats Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This memo defines media-type designators for various printer control file formats which are popularly used in the industry, and proposes a means to correlate the printer interpreter types as specified in the Printer MIB (RFC-1759). 1. Overview MIME media-types describe the format of MIME objects, which are used in internet email (SMTP), web applications (HTTP), and others. MIME media types such as application/postscript and text/plain are examples of print formats which are interpreted by many printers. However, there are many other file formats whice are frequently used with printers which are not supported by MIME media-type designations. This document proposes a set of MIME media-type designations for these popular print file formats. The result of this work should support transport of these printer formats to enable internet printing scenarios. 2. Definition Method The printer MIB (RFC-1759) is used as a source of much of the information in this document. Each section of this document is formatted according to the MIME media-type Lutz [Page 1] Expires July 1997 draft-lutz-print-types-00.txt January, 97 registration procedure (RFC-1590). RFC 1759 (_Printer MIB_) contains a group, PrtInterpreterLang, with objects that identify various file formats and protocols which are used to submit jobs and interact with print equipment. The purpose for this list is to allow a network administrator to garner information regarding the capabilities or view and set current settings of a printer peripheral. MIME (Multimedia Internet Mail Extensions) contain a registration method and registry for defining various media-types (or _data formats_). The purpose of this registration method and registry is to allow transfer of file data via email MIME body parts and allow the receiver to handle each part in a graceful manner. The ability to reference file formats is important in the Multifunction product area as we are submitting jobs to dial-up or email-remote printers. The lack of a single registry has been a key problem in this area. 2.1 OBSERVATIONS The MIME registry is targeted at _data formats_ and does not specify protocols which would not be transportable using internet store-and-forward mail technology. Therefore, some of the objects contained in prtInterpreterLang group would probably not be appropriate for the MIME registry. For example, TIPSI (IEEE-1284.1) is a good candidate for this characteristic since TIPSI requires bidirectional communication to operate. Such formats may be compatible with certain limitations. This is they way that Postscript is treated. This document will not attempt to sanatize any formats that require a special protocol. RFC-1759 does not specify exact versions as a part of the prtInterpreterLang group, especially when the language can self-identify or gracefully handle various generations of the same format. In some cases, a given interpreter will not gracefully handle the various generations, and yet the version is not specified. There may be some need to refine RFC-1759 or other documents as a result of completing this work. 3. Method to handle Vendor-specific formats It is generally the case that the Interpreter Languages as defined by RFC-1759 are vendor-specific and are not ietf or public standards. The MIME designation will be generated using a standard "recipe" to allow easy correlation with RFC-1759, without unduly burdening the Lutz [Page 2] Expires July 1997 draft-lutz-print-types-00.txt January, 97 MIB or the MIME media-types with absolute synchronization. The general recipe is to form the MIME media type as follows (Angle brackets are to group syntactical elements and do not occur in the string; square brackets indicates optional): vnd.-[;Version=] For example, for LangPCL, Level 3, the resulting string is: application/vnd.hp-pcl;version=3 4. Prior Generations also accepted by the media-type If a given device claims that it can handle a given printer media-type by examining the MIB prtInterpreterLang object, it may also be able to handle other media-types of prior generations. A maker of a MIME object should designate the minimum media-type designation possible. A device should claim support in the device MIB of the latest generation of a given media- type which has several generations. This document includes a profile which defines the exact MIB field contents and their relation to the proposed MIME types. The use of the recipe to form the MIME media- type designation will allow the vendor that is actually responsible for the given format to enhance the format without revision of this profile. 4. Summary of the printer media-types In the table below, the term "Also Accepted" indicates that the device would also accept another generation of the format or another format by inspecting the object. There is usually no use in referencing more than a single prior generation since it can also reference other generations, however, in some cases, more than one language is lumped together with some form of automatic sensing. In the table below, the columns are defined as follows: "Family" prtInterpreterLangFamily string "Code" numeric entry of Printer MIB "Level" prtInterpreterLangLevel string If a media-type string is defined, a prior generation or other format which is also parsed and interpreted by this interpreter if the printer MIB indicates this format is supported. Lutz [Page 3] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Family Code Level media-type Notes (Prior Generation) =============== ==== ===== ===================== ====== other 1 x NOTE 1 langPCL 3 3 vnd.hp-pcl;version=3 langPCL 3 4 vnd.hp-pcl;version=4 (vnd.hp-pcl;version=3) langPCL 3 5 vnd.hp-pcl;version=5 (vnd.hp-pcl;version=4) (vnd.hp-hpgl;version=2) langPCL 3 5e vnd.hp-pcl;version=5e (vnd.hp-pcl;version=5) langHPGL 4 2 vnd.hp-hpgl;version=2 langPJL 5 1 vnd.hp-pjl;version=1 langPS 6 1 postscript;version=1 langPS 6 2 postscript;version=2 (postscript;version=1) langPS 6 3 postscript;version=3 (postscript;version=2) langPSPrinter 42 vnd.adobe-PSPrinter NOTE 2 langIPDS 7 vnd.ibm-ipds NOTE 2 langPPDS 8 vnd.lexmark-ppds langEscapeP 9 vnd.epson-escapep langEpson 10 80 vnd.epson-fx;version=80 NOTE 3 langEpson 10 100 vnd.epson-fx;version=100 NOTE 3 langDDIF 11 vnd.dec-dx langInterpress 12 NOTE 1 langISO6429 13 text/iso6429 langLineData 14 text/linedata langMODCA 15 vnd.ibm-modca NOTE 2 langREGIS 16 vnd.dec-regis langSCS 17 NOTE 1 langSPDL 18 iso10180 langTEK4014 19 vnd.tek-4014 langPDS 20 NOTE 1 langIGP 21 NOTE 1 langCodeV 22 vnd.qms-codev langDSCDSE 23 NOTE 1 langWPS 24 NOTE 1 langLN03 25 vnd.dec-ln03 langCCITT 26 image/g3fax langQUIC 27 vnd.qms-quic langCPAP 28 vnd.dec-cpap langDecPPL 29 vnd.dec-ppl langSimpleText 30 text/plain NOTE 4 langNPAP 31 NOTE 1 langDOC 32 vnd.qms-doc NOTE 2 langimPress 33 vnd.qms-impress langPinwriter 34 vnd.nec-pinwriter langNEC201PL 36 vnd.nec-201pl langAutomatic 37 NOTE 5 langPages 38 vnd.ibm-pages Lutz [Page 4] Expires July 1997 draft-lutz-print-types-00.txt January, 97 langLIPS 39 vnd.cie-lips langTIFF 40 image/tiff langDiagnostic 41 octet-stream langCaPSL 43 vnd.canon-psl langEXCL 44 vnd.talaris-excl langLCDS 45 vnd.xerox-lcds langXES 46 vnd.xerox-xes =============== ==== ===== ===================== ====== NOTES 1: No media-type definable. 2: Is this really mappable? 3: Level is just a guess. 4: Need charset 5: automatic will need to list the media-types accepted. Lutz [Page 5] Expires July 1997 draft-lutz-print-types-00.txt January, 97 APPENDIX 1: Media-Type Registrations The following are proposed registrations of media-types required for those printer interpreters listed in RFC- 1759. Not all of these types may be worthwhile additions as MIME media-types. At this time, there are many missing published specifications and contact names. ====================================================== Media Type name: application Media subtype name: vnd.hp-pcl Required parameters: none Optional parameters: version=3 indicates HP PCL-3 (default) version=4 indicates HP PCL-4 version=5 indicates HP PCL-5 version=5e indicates HP PCL-5e Encoding considerations: base-64 preferred (is quoted-printable a good choice?) Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: HP-PCL5: PCL5 Printer Language Technical Reference Manual, HP Manual Part No. 5961-0888. Contact: ====================================================== Media Type name: application Media subtype name: vnd.hp-pgl Required parameters: none Optional parameters: version=2 indicates HPGL/2 Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: HPGL manual .... Contact: ====================================================== NOTE the following is an amendment of an existing media- type since the "version=#" parameter is added as an optional parameter. Media Type name: application Lutz [Page 6] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Media subtype name: postscript Required parameters: none Optional parameters: version=1 indicates Postscript Level 1 (default) version=2 indicates Postscript Level 2 version=3 indicates Postscript Level 3 Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. See RFC ???? for cautionary statements with regard to the use of Postscript. Published specification: Postscript Language Reference Manual, Adobe Systems Inc., ISBN 0-201-10174-2 Postscript Language Level - 2 Reference Manual, Adobe Systems Inc. Contact: ====================================================== Media Type name: application Media subtype name: vnd.adobe-PSPrinter Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: ibm-ipds Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.lexmark-ppds Lutz [Page 7] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: epson-escapep Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: lexmark-ppds Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: epson-fx Required parameters: none Optional parameters: version=80 indicates fx-80 version=100 indicates fx-100 Encoding considerations: base-64 preferred (is quoted-printable a good choice?) Lutz [Page 8] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.dec-dx Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: text Media subtype name: iso6429 Required parameters: none Optional parameters: none Encoding considerations: quoted printable Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: ISO-6429 Contact: ====================================================== Media Type name: text Media subtype name: linedata Required parameters: none Optional parameters: none Encoding considerations: quoted printable Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Lutz [Page 9] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Media Type name: application Media subtype name: vnd.ibm-modca Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.dec-regis Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: iso10180 Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: ISO-10180 Contact: ====================================================== Media Type name: application Media subtype name: vnd.tek-4014 Required parameters: none Optional parameters: none Encoding considerations: base-64 Lutz [Page 10] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.qms-codev Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: dec-ln03 Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.qms-quic Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Lutz [Page 11] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Media Type name: application Media subtype name: vnd.dec-cpap Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.dec-ppl Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.qms-doc Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.qms-impress Required parameters: none Optional parameters: none Encoding considerations: base-64 Lutz [Page 12] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.nec-pinwriter Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.nec-201pl Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.ibm-pages Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Lutz [Page 13] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Media Type name: application Media subtype name: vnd.cie-lips Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.canon-psl Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.talaris-excl Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.xerox-lcds Required parameters: none Optional parameters: none Encoding considerations: base-64 Lutz [Page 14] Expires July 1997 draft-lutz-print-types-00.txt January, 97 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: ====================================================== Media Type name: application Media subtype name: vnd.xerox-xes Required parameters: none Optional parameters: none Encoding considerations: base-64 Security considerations: Delivery of this format to a printer which is not capable of parsing the format may result in poor printer behavior. Published specification: Contact: Lutz [Page 15] Expires July 1997