manpagez: man pages & more
man filter(7)
Home | html | info | man
filter(7)                         Apple Inc.                         filter(7)




NAME

       filter - cups file conversion filter interface


SYNOPSIS

       filter job user title num-copies options [ filename ]


DESCRIPTION

       The CUPS filter interface provides a standard method for adding support
       for new document types to CUPS. Each filter is  capable  of  converting
       from  one  or  more  input formats to another format that can either be
       printed directly or piped into another filter to get it to a  printable
       format.

       Filters  must be capable of reading from a filename on the command-line
       or from the standard input, copying the standard input to  a  temporary
       file  as  required  by  the file format. All output must be sent to the
       standard output.

       The command name (argv[0]) is  set  to  the  name  of  the  destination
       printer but is also available in the PRINTER environment variable.


WARNING

       CUPS  filters  are not meant to be run directly by the user. Aside from
       the legacy System V interface issues (argv[0]  is  the  printer  name),
       CUPS  filters  also  expect  specific  environment  variables  and file
       descriptors, and typically run in a user session that  (on  OS  X)  has
       additional  restrictions  that  affect  how  it  runs. Unless you are a
       developer and know what you  are  doing,  please  do  not  run  filters
       directly. Instead, use the cupsfilter(8) program to use the appropriate
       filters to do the conversions you need.


OPTIONS

       Options passed on the command-line typically do not include the default
       choices the printer's PPD file. In addition, some options may be speci-
       fied in multiple ways - "landscape"  is  a  synonym  for  "orientation-
       requested=4",  "media"  is  a  synonym  for  "PageSize",  "PageRegion",
       "InputSlot", and "MediaType", and "sides" is a synonym for the  various
       "Duplex"  options.  Non-raster  filters  must support both explicit and
       implicit specification of PPD options -  use  the  ppdMarkDefaults  and
       cupsMarkOptions  functions  in the CUPS library to use the correct map-
       ping, and ppdFindMarkedChoice to get the user-selected choice.

       Raster filters should use option choices set through  the  raster  page
       header,  as  those  reflect  the  options  in  effect for a given page.
       Options specified on the command-line determine the default values  for
       the entire job, which can be overridden on a per-page basis.


LOG MESSAGES

       Messages  sent  to stderr are generally logged to printer-state-message
       attribute and the current ErrorLog.  Each line begins with  a  standard
       prefix:

       ALERT: message
            Sets  the  printer-state-message  attribute and adds the specified
            message to the current ErrorLog using the "alert" log level.

       ATTR: attribute=value [attribute=value]
            Sets the named job or  printer  attribute(s).  The  following  job
            attributes can be set: "job-media-progress". The following printer
            attributes  can  be  set:  "auth-info-required",  "marker-colors",
            "marker-high-levels",     "marker-levels",    "marker-low-levels",
            "marker-message", "marker-names", "marker-types", "printer-alert",
            and "printer-alert-description".

       CRIT: message
            Sets  the  printer-state-message  attribute and adds the specified
            message to the current ErrorLog using the "critical" log level.

       DEBUG: message
            Sets the printer-state-message attribute and  adds  the  specified
            message to the current ErrorLog using the "debug" log level.

       DEBUG2: message
            Sets  the  printer-state-message  attribute and adds the specified
            message to the current ErrorLog using the "debug2" log level.

       EMERG: message
            Sets the printer-state-message attribute and  adds  the  specified
            message to the current ErrorLog using the "emergency" log level.

       ERROR: message
            Sets  the  printer-state-message  attribute and adds the specified
            message to the current ErrorLog using the "error" log level.

       INFO: message
            Sets the printer-state-message attribute. If the current  LogLevel
            is set to "debug2", also adds the specified message to the current
            ErrorLog using the "info" log level.

       NOTICE: message
            Sets the printer-state-message attribute and  adds  the  specified
            message to the current ErrorLog using the "notice" log level.

       PAGE: page-number #-copies

       PAGE: total #-pages
            Adds an entry to the current PageLog. The first form adds #-copies
            to the job-media-sheets-completed attribute. The second form  sets
            the job-media-sheets-completed attribute to #-pages.

       PPD: Keyword=Value ... KeywordN=Value
            Sets  the  named keywords in the printer's PPD file. This is typi-
            cally used to update default option keywords such as  DefaultPage-
            Size and the various installable options in the PPD file.

       STATE: printer-state-reason [printer-state-reason ...]

       STATE: + printer-state-reason [printer-state-reason ...]

       STATE: - printer-state-reason [printer-state-reason ...]
            Sets,  adds,  or removes printer-state-reason keywords to the cur-
            rent queue. Typically this is used to  indicate  media,  ink,  and
            toner conditions on a printer.

       WARNING: message
            Sets  the  printer-state-message  attribute and adds the specified
            message to the current ErrorLog using the "warning" log level.


ENVIRONMENT VARIABLES

       The following environment variables are defined by the CUPS server when
       executing the filter:

       CHARSET
            The default text character set, typically utf-8.

       CLASS
            When  a  job is submitted to a printer class, contains the name of
            the destination printer class. Otherwise this environment variable
            will not be set.

       CONTENT_TYPE
            The  MIME  type  associated with the file (e.g.  application/post-
            script).

       CUPS_CACHEDIR
            The directory for semi-persistent cache files can be found.

       CUPS_DATADIR
            The directory where data files can be found.

       CUPS_FILETYPE
            The type of file being printed: "job-sheet" for a banner page  and
            "document" for a regular print file.

       CUPS_MAX_MESSAGE
            The  maximum size of a message sent to stderr, including any lead-
            ing prefix and the trailing newline.

       CUPS_SERVERROOT
            The root directory of the server.

       DEVICE_URI
            The device-uri associated with the printer.

       FINAL_CONTENT_TYPE
            The  MIME  type  associated  with  the  printer  (e.g.    applica-
            tion/vnd.cups-postscript).

       LANG
            The default language locale (typically C or en).

       PATH
            The  standard execution path for external programs that may be run
            by the filter.

       PPD
            The full pathname of the PostScript Printer Description (PPD) file
            for this printer.

       PRINTER
            The name of the printer.

       RIP_CACHE
            The  recommended  amount of memory to use for Raster Image Proces-
            sors (RIPs).

       SOFTWARE
            The name and version number of the server (typically CUPS/1.2).

       TZ
            The timezone of the server.

       USER
            The user executing the filter, typically "lp" or  "root";  consult
            the cupsd.conf(5) file for the current setting.


COMPATIBILITY

       While  the  filter  interface  is  compatible  with  System V interface
       scripts, it will only work with the System V interface  script  as  the
       only  filter.   Typically the interface script will be provided via the
       lpadmin(8) command using the -i option.


SEE ALSO

       backend(7), cupsd(8), cupsfilter(8),
       http://localhost:631/help


COPYRIGHT

       Copyright 2007-2013 by Apple Inc.



18 May 2012                          CUPS                            filter(7)

Mac OS X 10.9 - Generated Thu Oct 17 05:45:32 CDT 2013
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.