1:foomatic-rip

From Linux Man Pages

Jump to: navigation, search
      foomatic-rip - Universal print filter/RIP wrapper
      

Contents

SYNOPSIS

  General Options:
      foomatic-rip [-v] [-q] [-d] <filter specific options>
 
  Spooler-less printing/CPS (older versions) filter:
      foomatic-rip [-P <printer>  |  --ppd  <ppdfile> ]  [-J <jobtitle> ] [-o  <option>=<value>  [...]]  [<files>]
 
  CUPS filter:
      foomatic-rip <jobid> <user> <jobtitle> <numcopies> <options> [<file>]
 
  LPRng filter:
      foomatic-rip --lprng [-J<jobtitle>][-Z<option>=<value>[,<option>=<value>[, ...]] <ppdfile>
 
      foomatic-rip  [-J<jobtitle>][-Z<option>=<value>[,<option>=<value>[, ...]]
      (printcap :pdd=<ppdfile>)
 
      foomatic-rip --ppd <ppdfile>[-J<jobtitle>] [-Z<option>=<value>[,<option>=<value>[, ...]]
 
  LPD/GNUlpr filter:
      foomatic-rip [-w <number>] [-l <number>] [-x <number>] [-y <number>] [-i <num-
      ber>] [-c] [-n <string>] [-h <string>] [-j|-J <jobtitle>|<options>] <ppdfile>
 
  PPR RIP:
      foomatic-rip [<option>=<value> [...]]
 
  PPR interface:
      foomatic-rip <queue> <destaddress> <options> <jobbreak> <feedback> <codes> <jobname> <routing> <for> <file-
      type> [<file>]
 
  PDQ driver file generation:
      foomatic-rip [--ppd <ppdfile>] [-o <option>=<value> [...]] --genpdq|--appendpdq|--genrawpdq|--appendrawpdq
 
  PDQ filter:
      foomatic-rip --pdq --ppd <ppdfile>] [-o <option>=<value> [...]] <file>
 
  CPS (newer versions) filter:
      foomatic-rip --cps -P <printer> [-J <jobtitle>] [-o <option>=<value> [...]] [<files>]

DESCRIPTION

      foomatic-rip  is  a universal print filter which works with every known free software printer spooler. It has the
      following features:
 
      It translates PostScript (and also other file formats) from standard input to the printer's native language (usu-
      ally put to standard output).
 
      The  translation  is  done  with  an  external renderer, usually GhostScript (gs(1)). If no translation is needed
      (PostScript printer) the renderer's command line reduces to cat(1). The way  how  this  translation  is  done  is
      described in a PPD file.
 
      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  manufacturers  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 configuration
      is also possible.
 
      foomatic-rip  does  not  only apply option settings supplied by the user through the command line of the printing
      command, but also searches the entire job for embedded option settings (only PostScript jobs). Here not only set-
      tings 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

      -v        verbose  mode  for  debugging.   WARNING:  This  will create a file in /tmp that contains the debugging
                information.  This opens a security loophole and should not be used in production.
 
      -q        quiet mode - minimal information output
 
      -d        identical to the 'opts' option, but option information is left in text format.  This is useful for run-
                ning  foomatic-rip  from  the command line to determine what the printer option are.  The PPD file will
                need to be specified using the --ppd option.
 
      -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>
 
                (<file> can be an arbitrary existing file, as .bashrc, will not be printed) to print a list  of  avail-
                able options for the specified <printer>.
 
      <files>   The file(s) to be printed.
 
      foomatic-rip  will  print  from  standard input unless a file to print is specified on the command line.  If your
      printer PPD file is stored as /etc/direct/<printer>.ppd or ~/.foomatic/direct/<printer>.ppd you  can  use  it  by
      simply specifying "-P <printer>".
 
      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
      ---------------------
           <    <
           >    >
           "    "
           ''    &apos;'
           &    &
 
      This way you can print directly to your printer, use
 
      *FoomaticRIPPostPipe: "| cat > /dev/lp0"
 
      or
 
      *FoomaticRIPPostPipe: "| cat > /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/direct-doc.html

PRINTING WITH SPOOLER

      See the documentation on the Linux Printing Web site: http://www.linuxprinting.org

FILES

      /etc/cups/<printer>.ppd
      /etc/lpd/<printer>.ppd
      /etc/ppr/<printer>.ppd
      /etc/pdq/<printer>.ppd
      /etc/direct/<printer>.ppd
 
              The PPD files of the currently defined printers

EXIT STATUS

      foomatic-rip returns 0 unless something unexpected happens.

BUGS

      None so far.
 
      Please send bug reports to foomatic-devel@linuxprinting.org.

CATEGORY

Personal tools