## Introduction

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.

Printer drivers advertise support for the CUPS command file format by providing a filter for the application/vnd.cups-command file type. Applications can determine if a printer supports printing of CUPS command files by checking the `printer-type` attribute for the `CUPS_PRINTER_COMMANDS` capability bit.

## File Syntax

CUPS command files are ASCII text files. The first line of a CUPS command file MUST contain:

    #CUPS-COMMAND

After that, each line is either a command or a comment. Comments begin with the # character, e.g.:

    # This is a comment

The printer commands are described below. Printer commands are case-insensitive, so "PRINTSELFTESTPAGE", "printselftestpage", and "PrintSelfTestPage" are equivalent. Commands that accept arguments have their arguments on the same line separated by whitespace.

## Commands

### Clean

Clean colorname

Does a standard print head cleaning. If a printer does not support cleaning of individual colors or cartridges, then all print heads 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".

Example:

    #CUPS-COMMAND
    Clean all

### PrintSelfTestPage

PrintSelfTestPage

Print a self-test page on the printer. Typically this page shows if all jets on a print head are functioning properly.

Example:

    #CUPS-COMMAND
    PrintSelfTestPage