Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FOOMATIC-RIP(1)		    General Commands Manual	       FOOMATIC-RIP(1)

       foomatic-rip - Universal	print filter/RIP wrapper

   General Options:
       foomatic-rip [-v] [-q] _spooler-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_[,_op-
       tion_=_value_[, ...]] _ppdfile_

       foomatic-rip  [-J_jobtitle_][-Z_option_=_value_[,_op-
       tion_=_value_[, ...]]
       (printcap :pdd=<ppdfile>)

       foomatic-rip --ppd _ppdfile_[-J_jobtitle_] [-Z_option_=_value_[,_op-
       tion_=_value_[, ...]]

   LPD/GNUlpr filter:
       foomatic-rip [-w	_number_] [-l _number_]	[-x _number_] [-y _num-
       ber_] [-i _number_] [-c]	[-n _string_] [-h _string_] [-j|-J _jobti-
       tle_|_options_] _ppdfile_

       foomatic-rip [_option_=_value_ [...]]

   PPR interface:
       foomatic-rip _queue_ _destaddress_ _options_ _jobbreak_ _feed-
       back_ _codes_ _jobname_ _routing_ _for_ _filetype_ [_file_]

   PDQ driver file generation:
       foomatic-rip [--ppd _ppdfile_] [-o _option_=_value_ [...]] --gen-

   PDQ filter:
       foomatic-rip --pdq --ppd	_ppdfile_] [-o _option_=_value_	[...]] _file_

   CPS (newer versions)	filter:
       foomatic-rip --cps -P _printer_ [-J _jobtitle_] [-o _op-
       tion_=_value_ [...]] [_files_]

       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	PDF (and also other file formats) from
       standard	input to the printer's native language (usually	put  to	 stan-
       dard output).

       The  translation	is done	with an	external renderer, usually Ghostscript
       (gs(1)).	If no translation is  needed  (PostScript  printer)  the  ren-
       derer'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
       usually come from Foomatic or can be the	ones supplied by the  manufac-
       turers  of  PostScript  printers.  The  PPD  files are the same for all

       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	 vari-
       ables which were	supplied by the	spooler.

       Non-PostScript/PDF  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  settings  which affect 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.

       -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

       -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

       -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 available options for  the
		 specified _printer_.

       _files_	 The file(s) to	be printed.

       foomatic-rip will print from standard input unless at least one file to
       be printed is specified on the command line.  If	your printer PPD  file
       is  stored  as  ${prefix}/etc/direct/_printer_.ppd  or  ~/.foomatic/di-
       rect/_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 want to re-direct the output data. Due	to the
       restrictions of PPD files <, >, and " are not allowed in	the _command_,
       replace them as follows:

       Character Replacement
	    <	 &lt;
	    >	 &gt;
	    "	 &quot;
	    '	 &apos;
	    &	 &amp;

       This way	you can	print directly to your printer,	use

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


       *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 transferred to the	printer.

       *FoomaticRIPPostPipe: "|	rlpr -Plp@printserver"

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

       See also

       See   the    documentation    on	   the	  OpenPrinting	  Web	 site:

       The  file ${prefix}/etc/foomatic/filter.conf is read whenever foomatic-
       rip is executed.	It allows to configure the behavior of foomatic-rip as
       follows	(lines	beginning  with	 #  are	 comments  and	therefore  get

       textfilter: _command_
		 Selects the filter for	input files which are  not  PostScript
		 or  PDF.   _command_  is  one	of  a2ps,  enscript, or	mpage.
		 foomatic-rip automatically selects the	 needed	 command  line

       debug: 0|1
		 Turns on (1) or off (0) the debug mode. This is equivalent to
		 supplying the --debug command line option. Default setting is

       ps_accounting: 0|1
		 Turns	on  (1)	 or off	(0) inserting PostScript code for page
		 accounting into PostScript jobs. The inserted PostScript code
		 makes	Ghostscript generating accounting output on stderr and
		 CUPS can this way log each page which got printed.  The  code
		 will only be inserted if CUPS is the spooler. Default setting
		 is 1.

       echo: [_path_/]_executable_
		 Sets the path to an echo(1) executable	which supports -n.

       gspath: [_path_/]_executable_
		 Sets the path to the Ghostscript (gs(1))  executable.	To  be
		 used  if  Ghostscript	is at a	non-standard location or if an
		 alternative Ghostscript should	be used.

       execpath: _path_[:_path_]...
		 Sets the $PATH	variable to be used by foomatic-rip.

       cupsfilterpath: _path_[:_path_]...
		 Sets the directories (colon-separated)	in which  foomatic-rip
		 searches for CUPS filters.

       preferred_shell:	[_path_/]_executable_
		 Sets	 the   preferred   shell   to	use   when   executing
		 FoomaticRIPCommandLine	and friends.  Several  PPD  files  use
		 shell	constructs that	require	a more modern shell like bash,
		 zsh, or ksh.


	       The PPD files of	the currently defined printers


	       Configuration file for foomatic-rip

       foomatic-rip returns 0 unless something unexpected happens.

       Till  Kamppeter	<>  with  parts	  of   Manfred
       Wassmanns's  <>  man	pages for the Foomatic
       2.0.x filters.

       None so far.

       Please send bug reports to the Foomatic mailing list:

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


Want to link to this manual page? Use this URL:

home | help