           foomatic-rip - Universal print filter/RIP wrapper

## SYNOPSIS

       Spooler-less printing/CPS filter:
           foomatic-rip [-P <printer> | --ppd <ppdfile>] [-J <jobti
           tle>] [-o <option>=<value> [...]] [<files>]

       CUPS filter:
           foomatic-rip <jobid> <user> <jobtitle> <num
           copies> <options> [<file>]

       LPRng filter:
           foomatic-rip --lprng [-J<jobti
           tle>] [-Z<option>=<value>[,<option>=<value>[, ...]] <ppdfile>

       LPD/GNUlpr filter:
           foomatic-rip [-w <number>] [-l <number>] [-x <num
           ber>] [-y <num
           ber>] [-i <num
           ber>] [-c] [-n <string>] [-h <string>] [-j|-J <jobti
           tle>|<options>] <ppdfile>

       PPR RIP:
           foomatic-rip [<option>=<value> [...]]

       PPR interface:
           foomatic-rip <queue> <destaddress> <options> <job
           break> <feed
           back> <codes> <jobname> <routing> <for> <file
           type> [<file>]

       PDQ driver file generation:
           foomatic-
           rip [--ppd <ppdfile>] [-o <option>=<value> [...]] --gen
           pdq|--appendpdq|--genrawpdq|--appendrawpdq

       PDQ filter:
           foomatic-
           rip --pdq --ppd <ppdfile>] [-o <option>=<value> [...]] <file>

## DESCRIPTION

           foomatic-rip is a universal print filter which works  with
           every  know free software printer spooler. It has the fol
           lowing features:
           · Printer capabilities, how to handle  user  options,  and
             how  to  build  the  renderer  command  line  is  always
             described by PPD files, these PPD files  can  come  from
             Foomatic  or can be the ones supplied by the manufactur
             ers of PostScript printers. The PPD files are  the  same
             for all spoolers.

           · foomatic-rip  works  with  every  known  spooler  (CUPS,
             LPRng, LPD, GNUlpr, PPR, PDQ, CPS, and without spooler).
             It  auto-detects the spooler from which it was called by
             the command line options and environment variables which
             were supplied by the spooler.

           · Non-PostScript files are translated to PostScript before
             they are passed to the renderer. This is usually done by
             a2ps(1),  enscript(1),  or  mpage(1). foomatic-rip auto-
             detects which program is installed, but manual  configu
             ration is also possible.

           · foomatic-rip  does  not  only apply option settings sup
             plied by the user through the command line of the print
             ing command, but also searches the entire job for embed
             ded option settings (only  PostScript  jobs).  Here  not
             only  settings  affectimg  the  whole job are taken into
             account, but also settings in the  page  headers,  which
             are  only  valid  for the page where they were found, so
             applications which produce PostScript  code  with  page-
             specific printer option settings are fully supported.

## SPOOLER-LESS PRINTING

       Options
           -P <printer>
                     <printer> is the configured printer which should
                     be used for this job.

           --ppd <ppdfile>
                     The PPD file <ppdfile>  should  be  applied  for
                     processing this job.

           -J <jobtitle>
                     The  <jobtitle> will be printed in the head line
                     of every page of a plain text job.

           -o <option>=<value>
                     Option settings for this job, do

                     foomatic-rip -P <printer> -o docs <file>

           Put a line

           *FoomaticRIPPostPipe: "| <command>"

           into  the  PPD  file, right after *PPD-Adobe: "4.3", where
           <command> is a command into which you  wnat  to  re-direct
           the output data. Due to the restictions of PPD files <, >,
           and " are not allowed in the <command>,  replace  them  as
           follows:

           Character Replacement
           ---------------------
                <    &lt;
                >    &gt;
                "    &quot;

           This way you can print directly to your printer, use

           *FoomaticRIPPostPipe: "| cat &gt; /dev/lp0"

           or

           *FoomaticRIPPostPipe: "| cat &gt; /dev/usb/lp0"

           for  local  parallel or USB printers. To make normal users
           able to print this way add them to the group lp  and  make
           sure  that the appropriate printer device file /dev/... is
           group-writable for the lp group.

           for a TCP/Socket/JetDirect  printer  with  the  host  name
           printer listening on port 9100 you need this:

           *FoomaticRIPPostPipe: "| /usr/bin/nc -w 1 printer 9100"

           Note  the  "-w  1" in the "nc" command line, it makes "nc"
           exiting immediately after the data is  tranferred  to  the
           printer.

           *FoomaticRIPPostPipe: "| rlpr -Plp@printserver"

           directs  your  jobs  to  the  LPD  printer queue lp on the
           machine named printserver.

           See also  http://www.linuxprinting.org/foomatic2.9/direct-
           doc.html

## PRINTING WITH SPOOLER

           To be done.

## AUTHOR

           Till Kamppeter <till.kamppeter@gmx.net> with parts of Man
           fred  Wassmanns's <manolo@NCC-1701.B.Shuttle.de> man pages
           for the Foomatic  2.0.x  filters  (directomatic(1),  lpdo
           matic(8)).

## BUGS

           None so far.

           Please  send  bug  reports  to  foomatic-devel@linuxprint
           ing.org.

    Foomatic Project            2002-11-26            FOOMATIC-RIP(1)