ipp3dprinter - an ipp 3d printer application
ipp3dprinter [ --help ] [ --no-web-forms ] [
--version ] [ -D device-uri ] [ -K
keypath ] [ -M manufacturer ] [ -a
filename.conf ] [ -c command ] [ -d
spool-directory ] [ -f type/subtype[,...] ] [ -i
iconfile.png ] [ -k ] [ -l location ] [
-m model ] [ -n hostname ] [ -p
port ] [ -r subtype[,subtype] ] [ -v[vvv] ]
service-name
ipp3dprinter is a simple Internet Printing Protocol (IPP)
server conforming to the IPP 3D Printing Extensions (PWG 5100.21)
specification. It can be used to test client software or act as a very basic
print server that runs a command for every job that is printed.
The following options are recognized by ipp3dprinter:
- --help
- Show program usage.
- --no-web-forms
- Disable the web interface forms used to update the media and supply
levels.
- --version
- Show the CUPS version.
- -D device-uri
- Set the device URI for print output. The URI can be a filename, directory,
or a network socket URI of the form "socket://ADDRESS[:PORT]"
(where the default port number is 9100). When specifying a directory,
ipp3dprinter will create an output file using the job ID and
name.
- -M
manufacturer
- Set the manufacturer of the printer. The default is
"Example".
- -c command
- Run the specified command for each document that is printed. If
"command" is not an absolute path
("/path/to/command"), ipp3dprinter looks for the command
in the "command" subdirectory of the CUPS binary directory,
typically /usr/lib/cups/command or /usr/libexec/cups/command. The
cups-config(1) command can be used to discover the correct binary
directory ("cups-config --serverbin"). In addition, the
CUPS_SERVERBIN environment variable can be used to override the default
location of this directory - see the cups(1) man page for more
details.
- -d
spool-directory
- Specifies the directory that will hold the print files. The default is a
directory under the user's current temporary directory.
- -f
type/subtype[,...]
- Specifies a list of MIME media types that the server will accept. The
default depends on the type of printer created.
- -i
iconfile.png
- Specifies the printer icon file for the server. The file must be a PNG
format image. The default is an internally-provided PNG image.
- -k
- Keeps the print documents in the spool directory rather than deleting
them.
- -l location
- Specifies the human-readable location string that is reported by the
server. The default is the empty string.
- -m model
- Specifies the model name of the printer. The default is
"Printer".
- -n hostname
- Specifies the hostname that is reported by the server. The default is the
name returned by the hostname(1) command.
- -p port
- Specifies the port number to listen on. The default is a user-specific
number from 8000 to 8999.
- -r
subtype[,subtype]
- Specifies the DNS-SD subtype(s) to advertise. Separate multiple subtypes
with a comma. The default is "_print".
- -v[vvv]
- Be (very) verbose when logging activity to standard error.
The ipp3dprinter program returns 1 if it is unable to
process the command-line arguments or register the IPP service. Otherwise
ipp3dprinter will run continuously until terminated.
The ipp3dprinter program is unique to CUPS and conforms to
the IPP 3D Printing Extensions (PWG 5100.21) specification.
ipp3dprinter adds environment variables starting with
"IPP_" for all IPP Job attributes in the print request. For
example, when executing a command for an IPP Job containing the
"materials-col" Job Template attribute, the
"IPP_MATERIALS_COL" environment variable will be set to the value
of that attribute.
In addition, all IPP "xxx-default" and
"pwg-xxx" Printer Description attributes are added to the
environment. For example, the "IPP_MATERIALS_COL_DEFAULT"
environment variable will be set to the default value for the
"materials-col" Job Template attribute.
Enumerated values are converted to their keyword equivalents. For
example, a "print-quality" Job Template attribute with a enum
value of 3 will become the "IPP_PRINT_QUALITY" environment
variable with a value of "draft". This string conversion only
happens for standard Job Template attributes, currently
"finishings" and "print-quality".
Finally, the "CONTENT_TYPE" environment variable
contains the MIME media type of the document being printed and the
"DEVICE_URI" environment variable contains the device URI as
specified with the "-D" option.
Unless they communicate directly with a printer, print commands
send printer-ready data to the standard output.
Print commands can send messages back to ipp3dprinter on
the standard error with one of the following prefixes:
- ATTR:
attribute=value[ attribute=value]
- Sets the named attribute(s) to the given values. Currently only the
"printer-alert" and "printer-alert-description"
Printer Status attributes can be set.
- DEBUG: Debugging
message
- Logs a debugging message if at least two -v's have been specified.
- ERROR: Error
message
- Logs an error message and copies the message to the
"job-state-message" attribute.
- INFO:
Informational message
- Logs an informational/progress message if -v has been specified and copies
the message to the "job-state-message" attribute unless an error
has been reported.
- STATE:
keyword[,keyword,...]
- Sets the printer's "printer-state-reasons" attribute to the
listed keywords.
- STATE:
-keyword[,keyword,...]
- Removes the listed keywords from the printer's
"printer-state-reasons" attribute.
- STATE:
+keyword[,keyword,...]
- Adds the listed keywords to the printer's
"printer-state-reasons" attribute.
Run ipp3dprinter with a service name of My Cool
Printer:
ipp3dprinter "My Cool Printer"
Run the file(1) command whenever a job is sent to the
server:
ipp3dprinter -c /usr/bin/file "My Cool Printer"
PWG Internet Printing Protocol Workgroup
(http://www.pwg.org/ipp)
Copyright © 2007-2019 by Apple Inc.