1
2FOOMATIC-RIP(1) General Commands Manual FOOMATIC-RIP(1)
3
4
5
7 foomatic-rip - Universal print filter/RIP wrapper
8
10 General Options:
11 foomatic-rip [-v] [-q] <mode-specific options>
12
13
14 Spooler-less printing filter:
15 foomatic-rip [-P <printer> | --ppd <ppdfile> ] [-J <jobtitle> ] [-o
16 <option>=<value> [...]] [<files>]
17
18
19 CUPS filter:
20 foomatic-rip <jobid> <user> <jobtitle> <numcopies> <options> [<file>]
21
22
24 foomatic-rip is a universal print filter which can be used as CUPS fil‐
25 ter or stand-alone for spooler-less, direct printing. It has the fol‐
26 lowing features:
27
28
29 · It translates PostScript and PDF from standard input or a file to the
30 printer's native language on standard output.
31
32
33 · The translation is done with an external renderer, usually Ghost‐
34 script (gs(1)). If no translation is needed (PostScript printer) the
35 renderer's command line reduces to cat(1). The way how this transla‐
36 tion is done is described in a PPD file.
37
38
39 · Printer capabilities, how to handle user options, and how to build
40 the renderer command line is always described by PPD files, these PPD
41 files usually come from Foomatic or can be the ones supplied by the
42 manufacturers of PostScript printers. The PPD files are the same for
43 both CUPS and direct printing.
44
45
46 · foomatic-rip works with CUPS and for direct printing (without
47 spooler), where the latter is mainly for testing and debugging. The
48 mode is selected by the command line options and environment vari‐
49 ables which are supplied to foomatic-rip.
50
51
52 · foomatic-rip does not only apply option settings supplied by the user
53 through the command line of the printing command, but also searches
54 the entire job for embedded option settings (only PostScript jobs).
55 Here not only settings which affect the whole job are taken into
56 account, but also settings in the page headers, which are only valid
57 for the page where they were found, so applications which produce
58 PostScript code with page-specific printer option settings are fully
59 supported.
60
61
63 Options
64 -v verbose mode for debugging. WARNING: This will create a file
65 in /tmp that contains the debugging information. This opens
66 a security loophole and should not be used in production.
67
68
69 -q quiet mode - minimal information output
70
71
72 -P <printer>
73 <printer> is the configured printer which should be used for
74 this job.
75
76
77 --ppd <ppdfile>
78 The PPD file <ppdfile> should be applied for processing this
79 job.
80
81 -o <option>=<value>
82 Option settings for this job.
83
84 <files> The file(s) to be printed.
85
86
87 foomatic-rip will print from standard input unless at least one file to
88 be printed is specified on the command line. If your printer PPD file
89 is stored as /etc/direct/<printer>.ppd or
90 ~/.foomatic/direct/<printer>.ppd you can use it by simply specifying
91 "-P <printer>".
92
93 Put a line
94
95 *FoomaticRIPPostPipe: "| <command>"
96
97 into the PPD file, right after *PPD-Adobe: "4.3", where <command> is a
98 command into which you want to re-direct the output data. Due to the
99 restrictions of PPD files <, >, and " are not allowed in the <command>,
100 replace them as follows:
101
102
103 Character Replacement
104 ---------------------
105 < <
106 > >
107 " "
108 ' '
109 & &
110
111 This way you can print directly to your printer, use
112
113 *FoomaticRIPPostPipe: "| cat > /dev/lp0"
114
115 or
116
117 *FoomaticRIPPostPipe: "| cat > /dev/usb/lp0"
118
119 for local parallel or USB printers. To make normal users able to print
120 this way add them to the group lp and make sure that the appropriate
121 printer device file /dev/... is group-writable for the lp group.
122
123 for a TCP/Socket/JetDirect printer with the host name printer listening
124 on port 9100 you need this:
125
126 *FoomaticRIPPostPipe: "| /usr/bin/nc -w 1 printer 9100"
127
128 Note the "-w 1" in the "nc" command line, it makes "nc" exiting
129 immediately after the data is transferred to the printer.
130
131 *FoomaticRIPPostPipe: "| rlpr -Plp@printserver"
132
133 directs your jobs to the LPD printer queue lp on the machine named
134 printserver.
135
136 See also http://www.openprinting.org/direct-doc.html
137
138
140 See the documentation on the OpenPrinting Web site:
141 http://www.openprinting.org/
142
143
145 The file /etc/cups/foomatic-rip.conf or if it is not readable the file
146 /etc/foomatic/filter.conf is read whenever foomatic-rip is executed. It
147 allows to configure the behavior of foomatic-rip as follows (lines
148 beginning with # are comments and therefore get ignored):
149
150
151 debug: 0|1
152 Turns on (1) or off (0) the debug mode. This is equivalent to
153 supplying the --debug command line option. Default setting is
154 0.
155
156
157 echo: [<path>/]<executable>
158 Sets the path to an echo(1) executable which supports -n.
159
160
161 gspath: [<path>/]<executable>
162 Sets the path to the Ghostscript (gs(1)) executable. To be
163 used if Ghostscript is at a non-standard location or if an
164 alternative Ghostscript should be used.
165
166
167 execpath: <path>[:<path>]...
168 Sets the $PATH variable to be used by foomatic-rip.
169
170
171 cupsfilterpath: <path>[:<path>]...
172 Sets the directories (colon-separated) in which foomatic-rip
173 searches for CUPS filters.
174
175
176 preferred_shell: [<path>/]<executable>
177 Sets the preferred shell to use when executing
178 FoomaticRIPCommandLine and friends. Several PPD files use
179 shell constructs that require a more modern shell like bash,
180 zsh, or ksh.
181
182
183
185 /etc/cups/ppd/<printer>.ppd
186 /etc/direct/<printer>.ppd
187
188 The PPD files of the currently defined printers
189
190 /etc/cups/foomatic-rip.conf
191 /etc/foomatic/filter.conf
192
193 Configuration file for foomatic-rip
194
195
196
198 foomatic-rip returns 0 unless something unexpected happens.
199
201 Till Kamppeter <till.kamppeter@gmail.com> with parts of Manfred
202 Wassmanns's <manolo@NCC-1701.B.Shuttle.de> man pages for the Foomatic
203 2.0.x filters.
204
206 None so far.
207
208 Please send bug reports to the OpenPrinting bug tracker:
209
210 http://bugs.linuxfoundation.org/
211
212 Use "OpenPrinting" as the product and "cups-filters" as the component.
213
214
215
216cups-filters 2013-11-06 FOOMATIC-RIP(1)