mirror of https://gitee.com/openkylin/cups.git
214 lines
6.1 KiB
HTML
214 lines
6.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<!-- SECTION: Specifications -->
|
||
<head>
|
||
<title>CUPS Command File Format</title>
|
||
<meta name='keywords' content='Programming, CUPS Command File Format'>
|
||
<link rel='stylesheet' type='text/css' href='../cups-printable.css'>
|
||
</head>
|
||
<body>
|
||
<!--
|
||
CUPS command file format specification for CUPS.
|
||
|
||
Copyright © 2007-2018 by Apple Inc.
|
||
Copyright © 1997-2006 by Easy Software Products.
|
||
|
||
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||
information.
|
||
-->
|
||
|
||
<H1 CLASS="title">CUPS Command File Format</H1>
|
||
|
||
<h2 class='title'><a name='INTRODUCTION'>Introduction</a></h2>
|
||
|
||
<p>This specification describes the CUPS command file format
|
||
(application/vnd.cups-command) which is used to send printer
|
||
maintenance commands to a printer in a device-independent way.
|
||
The current specification supports basic maintenance functions
|
||
such as head cleaning and self-test pages and query functions
|
||
such as auto-configure, report supply levels, and report status.</p>
|
||
|
||
<p>Printer drivers advertise support for the CUPS command file
|
||
format by providing a filter for the
|
||
<var>application/vnd.cups-command</var> file type. Applications
|
||
can determine if a printer supports printing of CUPS command
|
||
files by checking the <code>printer-type</code> attribute for the
|
||
<code>CUPS_PRINTER_COMMANDS</code> capability bit.</p>
|
||
|
||
<p>In addition, the PPD file for a printer can contain a
|
||
<code>cupsCommands</code> keyword that provides a list of supported
|
||
commands separated by spaces, for example:</p>
|
||
|
||
<pre class='command'>
|
||
*cupsCommands: "AutoConfigure Clean PrintSelfTestPage ReportLevels ReportStatus"
|
||
</pre>
|
||
|
||
<p>If no <code>cupsCommands</code> keyword is provided, the command filter
|
||
must support <a href='#AutoConfigure'><code>AutoConfigure</code></a>,
|
||
<a href='#Clean'><code>Clean</code></a>,
|
||
<a href='#PrintSelfTestPage'><code>PrintSelfTestPage</code></a>,
|
||
and <a href='#ReportLevels'><code>ReportLevels</code></a>. The scheduler also
|
||
provides the <code>printer-commands</code> attribute containing the list of
|
||
supported commands.</p>
|
||
|
||
|
||
<h2 class='title'><a name='SYNTAX'>File Syntax</a></h2>
|
||
|
||
<p>CUPS command files are ASCII text files. The first line of a
|
||
CUPS command file MUST contain:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
</pre>
|
||
|
||
<p>After that, each line is either a command or a comment.
|
||
Comments begin with the # character, e.g.:</p>
|
||
|
||
<pre class='command'>
|
||
# This is a comment
|
||
</pre>
|
||
|
||
<p>Commands are any sequence of letters, numbers, and punctuation characters
|
||
optionally followed by parameters separated by whitespace, e.g.:</p>
|
||
|
||
<pre class='command'>
|
||
Clean all
|
||
PrintSelfTestPage
|
||
</pre>
|
||
|
||
<p>Command names are case-insensitive, so "PRINTSELFTESTPAGE",
|
||
"printselftestpage", and "PrintSelfTestPage" are equivalent. Vendor-specific
|
||
commands should use a domain name prefix, e.g.:</p>
|
||
|
||
<pre class='command'>
|
||
com.vendor.foo
|
||
com.vendor.bar param param2 ... paramN
|
||
</pre>
|
||
|
||
|
||
<h2 class='title'><a name='COMMANDS'>Standard Commands</a></h2>
|
||
|
||
<p>The following are the standard commands supported by the format. The only
|
||
required command is
|
||
<a href='#PrintSelfTestPage'><code>PrintSelfTestPage</code></a>.</p>
|
||
|
||
|
||
<h3><a name='AutoConfigure'>AutoConfigure</a></h3>
|
||
|
||
<p class='summary'>AutoConfigure</p>
|
||
|
||
<p>The <code>AutoConfigure</code> command updates the printer's PPD file
|
||
and driver state information to reflect the current configuration of the
|
||
printer. There are no arguments for this command.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
AutoConfigure
|
||
</pre>
|
||
|
||
|
||
<h3><a name='Clean'>Clean</a></h3>
|
||
|
||
<p class='summary'>Clean <i>colorname</i></p>
|
||
|
||
<p>The <code>Clean</code> command performs a standard print head cleaning. The
|
||
"colorname" parameter specifies which color or head to clean. If a printer does
|
||
not support cleaning of individual colors or cartridges, then all colors are
|
||
cleaned. Command filters MUST support the "all" colorname. Other standard color
|
||
names include "black", "color", "photo", "cyan", "magenta", "yellow",
|
||
"light-cyan", "light-magenta", "light-black", "light-gray", and "dark-gray".</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
Clean all
|
||
</pre>
|
||
|
||
|
||
<h3><a name='PrintAlignmentPage'>PrintAlignmentPage</a></h3>
|
||
|
||
<p class='summary'>PrintAlignmentPage pass</p>
|
||
|
||
<p>The <code>PrintAlignmentPage</code> command prints a head alignment page on
|
||
the printer. The "pass" parameter provides a pass number from 1 to N. The number
|
||
of passes is device-dependent.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
PrintAlignmentPage 1
|
||
</pre>
|
||
|
||
|
||
<h3><a name='PrintSelfTestPage'>PrintSelfTestPage</a></h3>
|
||
|
||
<p class='summary'>PrintSelfTestPage</p>
|
||
|
||
<p>The <code>PrintSelfTestPage</code> command prints a self-test page on the
|
||
printer. Typically this page shows whether all jets on a print head are
|
||
functioning and that the print feed mechanisms are working properly.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
PrintSelfTestPage
|
||
</pre>
|
||
|
||
|
||
<h3><a name='ReportLevels'>ReportLevels</a></h3>
|
||
|
||
<p class='summary'>ReportLevels</p>
|
||
|
||
<p>The <code>ReportLevels</code> command queries the supply levels on a printer
|
||
and reports "marker-colors", "marker-levels", "marker-names", and
|
||
"marker-types" attributes using "ATTR:" messages sent to the scheduler. This
|
||
command should also report the current printer status using "STATE:" messages
|
||
like the <a href='#ReportStatus'><code>ReportStatus</code></a> command.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
ReportLevels
|
||
</pre>
|
||
|
||
|
||
<h3><a name='ReportStatus'>ReportStatus</a></h3>
|
||
|
||
<p class='summary'>ReportStatus</p>
|
||
|
||
<p>The <code>ReportStatus</code> command queries the printer for its current
|
||
status and reports it using "STATE:" messages sent to the scheduler.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
ReportLevels
|
||
</pre>
|
||
|
||
|
||
<h3><a name='SetAlignment'>SetAlignment</a></h3>
|
||
|
||
<p class='summary'>SetAlignment pass value ... valueN</p>
|
||
|
||
<p>The <code>SetAlignment</code> command sets print head alignment values. The
|
||
"pass" parameter is a number from 1 to N. All parameters are
|
||
device-dependent.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<pre class='command'>
|
||
#CUPS-COMMAND
|
||
SetAlignment 1 14
|
||
</pre>
|
||
|
||
|
||
</body>
|
||
</html>
|