Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 1/2" top margin 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Open-Printing (OP) Printer-Driver/Printer Compatibility Application Interface Authored By: Glen Petrie Version: Version 0.02.00 Published Date: November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cover All Material Copyright (c) 2007 Open Printing. All Rights Reserved. 1/2" bottom margin 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Open Printing Printer-Driver/Printer Compatibility Application Interface Specification Version 0.02.00 The Open Printing Printer-Driver/Printer Compatibility Application Interface, Version 0.02.00, is intended as a development guide for end-users, developers, computer service personnel and operating system distributors. The existence of this specification does not in any respect preclude anyone, whether he or she has approved the specification or not, from using products, processes, or software not conforming to the specification. CAUTION ------------ THIS OPEN_PRINTING PRINTER-DRIVER/PRINTER COMPABIBILITY APPLICATION INTERFACE SPECIFICATION MAY BE REVISED OR WITHDRAWN AT ANY TIME. Printed in the United States of America ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ COPYRIGHT NOTICE Copyright(c) 2007 Open Printing All Rights Reserved. /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ /* "Software"), to deal in the Software without restriction, including */ /* without limitation the rights to use, copy, modify, merge, publish, */ /* distribute, re-license and/or sell copies of the Software, and to */ /* permit persons to whom the Software is furnished to do so, subject */ /* to the following conditions: */ /* */ /* The rights to use, copy, modify, merge, publish, distribute, re-license */ /* and/or sell copies of this Software or any material modification thereof */ /* shall not be further restricted by the GNU General Public License. */ /* */ /* The above copyright notice and this permission notice shall be */ /* included in all copies or substantial portions of the Software. */ /* */ /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* */ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TABLE OF CONTENTS ---------------------- 5 ... Introduction 5 ... Objective 5 ... Requirements 6 ... PDPCA Application Interface Summary 6 ... PDPCA Naming Convention 6 ... PDPCA Directory Location ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REVISION HISTORY -------------------- Date Author Revisions 2007.10.30 Glen Petrie Original Document 2007.11.08 Glen Petrie Changed name from validation to compatibility Changed the command line option “-p” to “-s” and changed the scope to be either supported printers and/or printer-drivers. Suggested Modifications: 1. Issues and Concerns: 1. How will the person know they are testing the correct printer-driver or how will the person know they have the correct compatibility application? a. The “-s” command (listing “what is supported”) shall be used. There is no other solution proposed at this time to “know for sure” that the correct compatibility application is being used with the correct printer-driver. Driver developers may implement some internal means to achieve confirmation that the correct compatibility application is being used with the correct printer-driver but that is outside the scope of this specification. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Introduction ================================================================================ This document provides the software Application Interface specification for the Printer-Driver/Printer Compatibility Application (PDPCA). All printing can be divided into two elements. The first is the printing path. The printing path is characterized as starting with originating software application which creates the print content. Then, through additional processing such as print rendering, print management and print transforms; the print content is sent to the second printing element; specifically, the printer-driver/physical- printer. For tightly integrated operating systems, such as Windows, the printing path and the printer-driver/driver are seamless from the end-user perspective since rendering, formatting, print management and printer-driver API are tightly managed. However, for more open operating systems, such as Linux, the printing path and printer-driver API are less managed. Therefore, end-users, developers, computer service personnel (i.e. “Help Desk” personnel) and (Linux) operating system distributors need a compatibility approach for both printing elements. This document will focus only on the compatibility for the printer-driver/printer. Objective ================================================================================ Develop an affective Application Interface that for testing Printer- Drivers/Printers in Linux operating environment which is easily used by the end- user, developers, computer service personnel (i.e. “Help Desk” personnel) and (Linux) operating system distributors. Requirements ================================================================================ The following requirements shall be applied to any instantiation of an Open Printing Printer-Driver/Printer Compatibility Application (PDPCA). REQ-1. A PDPCA shall be a stand alone application. REQ-2. A PDPCA shall not have any dependency on other printing resources. REQ-3. A PDPCA shall be executed from a command line. REQ-4. All PDPCA shall be located in the same directory scheme as the printer- drivers. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PDPCA Application Interface Summary ================================================================================ The PDPCA Application Interface (Calling Convention) is pdpca__ [ -t ] “” or pdpca__ [ -hsi ] where -h = Help (List of Commands) where -s = List of Supported Drivers and/or Supported Printers for this PDPCA where -i = Information on the PDPCA where -t = Trace Mode Examples: pdpca_epson_inkjet –t “Stylus C80” PDPCA Naming Convention ================================================================================ The PDPCA filename shall adhere to the following naming convention. The PDPCA naming convention is divided in to three parts; namely, the common prefix, the driver developer name and qualifier information. Naming-1. A PDPCA application filename shall start with the prefix “pdpca_”. Naming-2. A PDPCA application filename shall append the common prefix (“pdpca_”) with the name of the printer-driver developer or developer company or developer project. This shall not be printer manufacture name unless the printer manufacture is the printer-driver developer. Example: pdpca_guten_.... Naming-3. A PDPCA application filename may include one or more qualifiers. The qualifiers shall be appended to the common prefix and developer name as “pdpca__. Qualifiers may be separated by an underscore (“_”) characters. Example: pdpca_epson_4color_inkjet PDPCA Directory Location ================================================================================ The directory location of PDPCA shall follow the same convention (not the exact location) as storing printer-drivers and PPD files; namely, PPD’s are stored in /usr/share/ppd/ Printer-drivers are stored in /usr/lib/ and PDPCA are stored in /usr/lib/pdpca/ Example: Directory ‘/usr/lib/pdpca/guten/’ with a file ‘pdpca_guten_epson_inkjet’ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 All Material Copyright (c) 2007 Open Printing. All Rights Reserved. Printer-Driver/Printer Compatibility Application Interface Version 0.02.00 Open-Printing November 08, 2007 1/2" top margin 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 -------------------------------------------------------------------------------- Open-Printing (OP) Printer-Driver/Printer Compatibility Application Interface Authored By: Glen Petrie EEEEEE NN NN DDDDD OO FFFFFF EE NNN NN DD DD OO OO FF EEEE NN NN NN DD DD OO OO FFFF EE NN NNN DD DD OO OO FF EEEEEE NN NN DDDDD OO FF ~~ END OF DOCUMENT ~~ END OF DOCUMENT ~~ END OF DOCUMENT ~~ END OF DOCUMENT ~~ DDDDD OO CCCC UU UU MM MM EEEEEE NN NN TTTTTT DD DD OO OO CC C UU UU MMM MMM EE NNN NN TT DD DD OO OO CC UU UU MM MM MM EEEE NN NN NN TT DD DD OO OO CC C UU UU MM MM EE NN NNN TT DDDDD OO CCCC UU MM MM EEEEEE NN NN TT -------------------------------------------------------------------------------- End Of Document All Material Copyright (c) 2007 Open Printing. All Rights Reserved. 1/2" bottom margin 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890