<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
-<!-- SECTION: Programming -->
+<!-- SECTION: Specifications -->
<head>
<title>CUPS PPD Extensions</title>
<meta name='keywords' content='Programming, PostScript Printer Description'>
</head>
<body>
<!--
- "$Id: spec-ppd.html 5190 2006-02-27 02:42:07Z mike $"
+ "$Id: spec-ppd.html 5217 2006-03-02 21:24:01Z mike $"
CUPS PPD extensions specification for the Common UNIX Printing System (CUPS).
<p>This specification describes the attributes and extensions
that CUPS adds to <a
-href="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
+href="http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf">
Adobe TechNote #5003: PostScript Printer Description File Format
Specification Version 4.3</a>. PostScript Printer Description
("PPD") files describe the capabilities of each printer and are
<h2 class='title'><a name='ATTRIBUTES'>General Attributes</a></h2>
+<h3>APBookFile</h3>
+
+<p class='summary'>*APBookFile: "file URL"</p>
+
+<p>This string attribute specifies the Apple help book file to use
+for this printer driver.</p>
+
+<p>Example:</p>
+
+<pre class='command'>
+*APBookFile: "file:///Library/Printers/vendor/Help/filename"
+</pre>
+
<h3>APDuplexRequiresFlippedMargin</h3>
<p class='summary'>*APDuplexRequiresFlippedMargin: boolean</p>
<p>Also see the related <tt>APDuplexRequiresFlippedMargins</tt> attribute.</p>
+<h3>cupsIPPReason</h3>
+
+<p class='summary'>*cupsIPPReason reason/Reason Text: "optional URIs"</p>
+
+<p>This optional attribute maps custom
+<code>printer-state-reasons</code> keywords that are generated by
+the driver to human readable text. The optional URIs string
+contains zero or more URIs separated by a newline. Each URI can
+be a CUPS server absolute path to a help file under the
+scheduler's <code>DocumentRoot</code> directory, a full HTTP URL
+("http://www.domain.com/path/to/help/page.html"), or any other
+valid URI which directs the user at additional information
+concerning the condition that is being reported.</p>
+
+<p>Examples:</p>
+
+<pre class='command'>
+<em>*% Map com.vendor-error to text but no page</em>
+*cupsIPPReason com.vendor-error/A serious error occurred: ""
+
+<em>*% Map com.vendor-error to text and a local page</em>
+*cupsIPPReason com.vendor-error/A serious error occurred: "/help/com.vendor/error.html"
+
+<em>*% Map com.vendor-error to text and a remote page</em>
+*cupsIPPReason com.vendor-error/A serious error occurred: "http://www.vendor.com/help"
+
+<em>*% Map com.vendor-error to text and a local, Apple help book, and remote page</em>
+*APHelpBook: "file:///Library/Printers/vendor/Help/filename"
+*cupsIPPReason com.vendor-error/A serious error occurred: "/help/com.vendor/error.html
+help:anchor='com.vendor-error'%20bookID=Vendor%20Help
+http://www.vendor.com/help"
+*End
+</pre>
+
<h3>cupsLanguages</h3>
<p class='summary'>*cupsLanguages: "locale list"</p>
*cupsVersion: "1.2"
</pre>
-<h3>ippReason</h3>
-
-<p class='summary'>*ippReason reason/Reason Text: "optional URL"</p>
-
-<p>This optional attribute maps custom
-<code>printer-state-reasons</code> keywords that are generated by
-the driver to human readable text. The optional URL string is a
-CUPS server absolute path to a help file under the scheduler's
-<code>DocumentRoot</code> directory or a full URL
-("http://www.domain.com/path/to/help/page.html") which directs
-the user at additional information concerning the condition that
-is being reported.</p>
-
-<p>Examples:</p>
-
-<pre class='command'>
-<em>*% Map com.vendor-error to text but no page</em>
-*ippReason com.vendor-error/A serious error occurred: ""
-
-<em>*% Map com.vendor-error to text and a local page</em>
-*ippReason com.vendor-error/A serious error occurred: "/help/com.vendor/error.html"
-
-<em>*% Map com.vendor-error to text and a remote page</em>
-*ippReason com.vendor-error/A serious error occurred: "http://www.vendor.com/help"
-</pre>
-
<h2 class='title'><a name='OPTIONS'>Custom Options</a></h2>
<p>CUPS supports custom options using an extension of the
*fr_FR.Translation ModelName/La Foobar Laser 9999: ""
*de_DE.Translation ModelName/Foobar LaserDrucken 9999: ""
-*ippReason com.vendor-error/A serious error occurred: "/help/com.vendor/error.html"
+*cupsIPPReason com.vendor-error/A serious error occurred: "/help/com.vendor/error.html"
<em>*% Localize printer-state-reason for French and German</em>
-*fr_FR.ippReason com.vendor-error/Une erreur sèrieuse s'est produite: "/help/com.vendor/error.html"
-*de_DE.ippReason com.vendor-error/Eine ernste Störung trat: "/help/com.vendor/error.html"
+*fr_FR.cupsIPPReason com.vendor-error/Une erreur sèrieuse s'est produite: "/help/com.vendor/error.html"
+*de_DE.cupsIPPReason com.vendor-error/Eine ernste Störung trat: "/help/com.vendor/error.html"
...
<li>Added custom option values support</li>
+ <li>Added <tt>APBookFile</tt> attribute</li>
+
<li>Added <tt>APDuplexRequiresFlippedMargin</tt> attribute</li>
<li>Added <tt>cupsICCProfile</tt> attribute</li>
+ <li>Added <tt>cupsIPPReason</tt> attribute</li>
+
<li>Added <tt>cupsLanguages</tt> attribute</li>
<li>Added <tt>cupsPortMonitor</tt> attribute</li>
- <li>Added <tt>ippReason</tt> attribute</li>
-
<li>Removed <tt>cupsProtocol</tt> attribute</li>
</ul>