1
2FOOMATIC-RIP(1)             General Commands Manual            FOOMATIC-RIP(1)
3
4
5

NAME

7       foomatic-rip - Universal print filter/RIP wrapper
8

SYNOPSIS

10   General Options:
11       foomatic-rip [-v] [-q] <spooler-specific options>
12
13
14   Spooler-less printing/CPS (older versions) 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
23   LPRng filter:
24       foomatic-rip --lprng [-J<jobti‐
25       tle>][-Z<option>=<value>[,<option>=<value>[, ...]] <ppdfile>
26
27       foomatic-rip  [-J<jobti‐
28       tle>][-Z<option>=<value>[,<option>=<value>[, ...]]
29       (printcap :pdd=<ppdfile>)
30
31       foomatic-rip --ppd <ppdfile>[-J<jobti‐
32       tle>] [-Z<option>=<value>[,<option>=<value>[, ...]]
33
34
35   LPD/GNUlpr filter:
36       foomatic-rip [-w <number>] [-l <number>] [-x <number>] [-y <num‐
37       ber>] [-i <number>] [-c] [-n <string>] [-h <string>] [-j|-J <jobti‐
38       tle>|<options>] <ppdfile>
39
40
41   PPR RIP:
42       foomatic-rip [<option>=<value> [...]]
43
44
45   PPR interface:
46       foomatic-rip <queue> <destaddress> <options> <jobbreak> <feed‐
47       back> <codes> <jobname> <routing> <for> <filetype> [<file>]
48
49
50   PDQ driver file generation:
51       foomatic-rip [--ppd <ppdfile>] [-o <option>=<value> [...]] --gen‐
52       pdq|--appendpdq|--genrawpdq|--appendrawpdq
53
54
55   PDQ filter:
56       foomatic-rip --pdq --ppd <ppdfile>] [-o <option>=<value> [...]] <file>
57
58
59   CPS (newer versions) filter:
60       foomatic-rip --cps -P <printer> [-J <jobti‐
61       tle>] [-o <option>=<value> [...]] [<files>]
62
63

DESCRIPTION

65       foomatic-rip is a universal print filter which works with  every  known
66       free software printer spooler. It has the following features:
67
68       It  translates  PostScript  and  PDF (and also other file formats) from
69       standard input to the printer's native language (usually put  to  stan‐
70       dard output).
71
72       The  translation is done with an external renderer, usually Ghostscript
73       (gs(1)). If no translation is  needed  (PostScript  printer)  the  ren‐
74       derer's command line reduces to cat(1). The way how this translation is
75       done is described in a PPD file.
76
77       Printer capabilities, how to handle user options, and how to build  the
78       renderer command line is always described by PPD files, these PPD files
79       usually come from Foomatic or can be the ones supplied by the  manufac‐
80       turers  of  PostScript  printers.  The  PPD  files are the same for all
81       spoolers.
82
83       foomatic-rip works with every known spooler (CUPS, LPRng, LPD,  GNUlpr,
84       PPR,  PDQ,  CPS, and without spooler). It auto-detects the spooler from
85       which it was called by the command line options and  environment  vari‐
86       ables which were supplied by the spooler.
87
88       Non-PostScript/PDF  files  are translated to PostScript before they are
89       passed to the renderer. This is usually done by  a2ps(1),  enscript(1),
90       or  mpage(1). foomatic-rip auto-detects which program is installed, but
91       manual configuration is also possible.
92
93       foomatic-rip does not only apply option settings supplied by  the  user
94       through the command line of the printing command, but also searches the
95       entire job for embedded option settings (only  PostScript  jobs).  Here
96       not  only  settings affectimg the whole job are taken into account, but
97       also settings in the page headers, which are only valid  for  the  page
98       where  they  were  found, so applications which produce PostScript code
99       with page-specific printer option settings are fully supported.
100
101

SPOOLER-LESS PRINTING

103   Options
104       -v        verbose mode for debugging.  WARNING: This will create a file
105                 in  /tmp that contains the debugging information.  This opens
106                 a security loophole and should not be used in production.
107
108
109       -q        quiet mode - minimal information output
110
111
112       -P <printer>
113                 <printer> is the configured printer which should be used  for
114                 this job.
115
116
117       --ppd <ppdfile>
118                 The  PPD file <ppdfile> should be applied for processing this
119                 job.
120
121       -J <jobtitle>
122                 The <jobtitle> will be printed in the head line of every page
123                 of a plain text job.
124
125       -o <option>=<value>
126                 Option settings for this job, do
127
128                 foomatic-rip -P <printer> -o docs <file>
129
130                 (<file>  can  be an arbitrary existing file, as .bashrc, will
131                 not be printed) to print a list of available options for  the
132                 specified <printer>.
133
134       <files>   The file(s) to be printed.
135
136
137       foomatic-rip will print from standard input unless at least one file to
138       be printed is specified on the command line.  If your printer PPD  file
139       is         stored         as        /etc/direct/<printer>.ppd        or
140       ~/.foomatic/direct/<printer>.ppd you can use it  by  simply  specifying
141       "-P <printer>".
142
143       Put a line
144
145       *FoomaticRIPPostPipe: "| <command>"
146
147       into  the PPD file, right after *PPD-Adobe: "4.3", where <command> is a
148       command into which you wnat to re-direct the output data.  Due  to  the
149       restrictions of PPD files <, >, and " are not allowed in the <command>,
150       replace them as follows:
151
152       Character Replacement
153       ---------------------
154            <    &lt;
155            >    &gt;
156            "    &quot;
157            '    &apos;
158            &    &amp;
159
160       This way you can print directly to your printer, use
161
162       *FoomaticRIPPostPipe: "| cat &gt; /dev/lp0"
163
164       or
165
166       *FoomaticRIPPostPipe: "| cat &gt; /dev/usb/lp0"
167
168       for local parallel or USB printers. To make normal users able to  print
169       this  way  add  them to the group lp and make sure that the appropriate
170       printer device file /dev/... is group-writable for the lp group.
171
172       for a TCP/Socket/JetDirect printer with the host name printer listening
173       on port 9100 you need this:
174
175       *FoomaticRIPPostPipe: "| /usr/bin/nc -w 1 printer 9100"
176
177       Note  the  "-w  1"  in  the  "nc"  command  line, it makes "nc" exiting
178       immediately after the data is transferred to the printer.
179
180       *FoomaticRIPPostPipe: "| rlpr -Plp@printserver"
181
182       directs your jobs to the LPD printer queue  lp  on  the  machine  named
183       printserver.
184
185       See also http://www.openprinting.org/direct-doc.html
186
187

PRINTING WITH SPOOLER

189       See    the    documentation    on    the    OpenPrinting    Web   site:
190       http://www.openprinting.org/
191
192

CONFIGURATION FILE

194       The file /etc/foomatic/filter.conf is  read  whenever  foomatic-rip  is
195       executed.  It  allows  to  configure  the  behavior  of foomatic-rip as
196       follows  (lines  beginning  with  #  are  comments  and  therefore  get
197       ignored):
198
199
200       textfilter: <command>
201                 Selects  the  filter for input files which are not PostScript
202                 or PDF.  <command>  is  one  of  a2ps,  enscript,  or  mpage.
203                 foomatic-rip  auitomatically  selects the needed command line
204                 options.
205
206
207       debug: 0|1
208                 Turns on (1) or off (0) the debug mode. This is equivalent to
209                 supplying the --debug command line option. Default setting is
210                 0.
211
212
213       ps_accounting: 0|1
214                 Turns on (1) or off (0) inserting PostScript  code  for  page
215                 accounting into PostScript jobs. The inserted PostScript code
216                 makes Ghostscript generating accounting output on stderr  and
217                 CUPS  can  this way log each page which got printed. The code
218                 will only be inserted if CUPS is the spooler. Default setting
219                 is 1.
220
221
222       echo: [<path>/]<executable>
223                 Sets the path to an echo(1) executable which supports -n.
224
225
226       gspath: [<path>/]<executable>
227                 Sets  the  path  to the Ghostscript (gs(1)) executable. To be
228                 used if Ghostscript is at a non-standard location  or  if  an
229                 alternative Ghostscript should be used.
230
231
232       execpath: <path>[:<path>]...
233                 Sets the $PATH variable to be used by foomatic-rip.
234
235
236       cupsfilterpath: <path>[:<path>]...
237                 Sets  the directories (colon-separated) in which foomatic-rip
238                 searches for CUPS filters.
239
240
241       preferred_shell: [<path>/]<executable>
242                 Sets   the   preferred   shell   to   use   when    executing
243                 FoomaticRIPCommandLine  and  friends.  Several  PPD files use
244                 shell constructs that require a more modern shell like  bash,
245                 zsh, or ksh.
246
247
248

FILES

250       /etc/cups/ppd/<printer>.ppd
251       /etc/lpd/<printer>.ppd
252       /etc/ppr/<printer>.ppd
253       /etc/pdq/<printer>.ppd
254       /etc/direct/<printer>.ppd
255
256               The PPD files of the currently defined printers
257
258       /etc/foomatic/filter.conf
259
260               Configuration file for foomatic-rip
261
262
263

EXIT STATUS

265       foomatic-rip returns 0 unless something unexpected happens.
266

AUTHOR

268       Till   Kamppeter   <till.kamppeter@gmail.com>  with  parts  of  Manfred
269       Wassmanns's <manolo@NCC-1701.B.Shuttle.de> man pages for  the  Foomatic
270       2.0.x filters.
271

BUGS

273       None so far.
274
275       Please send bug reports to the Foomatic mailing list:
276
277       http://lists.freestandards.org/mailman/listinfo/printing-foomatic
278
279
280
281Foomatic Project                  2002-11-26                   FOOMATIC-RIP(1)
Impressum