The “CUPS requirements” for filters are simple. Take filenames or stdin
as
input and write to stdout
. They should take these arguments:
-
printer
-
The name of the printer queue (normally this is the name of the filter being run).
-
job
-
The numeric job ID for the job being printed.
-
user
-
The string from the originating-user-name attribute.
-
title
-
The string from the job-name attribute.
-
copies
-
The numeric value from the number-copies attribute.
-
options
-
The job options.
-
filename
-
(optionally) The print request file (if missing, filters expected data
fed through stdin
). In most cases, it is easy to
write a simple wrapper script around existing filters to make them work with CUPS.