Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:
apropos Keyword Search (sections above)

RedHat 9 (Linux i386) - man page for magicfilter (redhat section 5)


       magicfilter - format of printer description files.

       The  printer  description files are simple m4 macro files that are merged with a template-
       file inside magicfilter to produce a list of rules  for	printing  out  files  of  various

       A  printer  description	file provides macro definitions for magicfilter to merge with its
       built-in configuration file.  The macros that magicfilter needs are as follows

	      This is the company that makes the printer in question (not needed for generic fil-
	      ters, like the postscript filters.)

       define(Printer, `Printer')dnl
	      This is a short description of the printer.  For a specific printer, it is the name
	      of the printer (eg: 600 DPI LaserJet 4 series with Postscript ) and for  a  generic
	      printer,	it's  a  description  of what the printer is (eg: 600 DPI PostScript-only
	      printer )

	      This is the dots per inch that the printer is capable of printing.

	      This is set to true if the printer handles PostScript, false otherwise.

	      This is set to true if the printer handles H-P PCL.

	      This is set to true if the printer handles H-P Printer Job Language.

	      This is set to true if the printer supports PCL5E.

	      This is the device name to use when filtering through  GhostScript.   You  need  to
	      have  this  for every printer, because even PostScript capable printers need to run
	      ghostscript to handle PDF files.

	      Set this to false if your printer cannot handle text, but must have it formatted in
	      some  way.   PostScript-only  printers  require this, and use pstext or enscript to
	      format plain text for printing.

	      If the printer needs any special processing to do text, it will be set here.   This
	      is  used	on H-P printers, for example, to spit out PCL reset codes before printing
	      out plain text.

       The configuration file is used by magicfilter to redirect various types	of  data  to  the
       various	conversion utilities.  The configuration file is fed to m4 along with the printer
       description file mentioned in the section above, and is parsed by  magicfilter  to  figure
       out   what   can  be  printed  to  a  file.   The  unformatted  printer	description  file
       (/usr/share/printconf/, or a internal default template is an m4  sourcefile
       that contains a sequence of lines of the form:

       /pattern/ action/hint/	arguments

       where  the  /pattern/ is compared against what file (1) reports as the filetype, action is
       what should be done with it, /hint/ (optionally) tells magicfilter what	format	the  pro-
       cessed file is, and arguments are passed to the action.

       Blank lines and lines with a hash mark (#) as the first nonblank character are ignored.	A
       line may be continued onto the next line by ending the line in a backslash (\).

       For ambiguous matches, the first match is used.	Hence, the  most  specific  match  should
       always  be  placed  first in the file.  There is no default pattern -- if the file type is
       not matched, magicfilter will reject the print request.	If you wish  a	default  pattern,
       you can use an empty pattern to do something like:

       //   pipe /usr/sbin/printers/textonly

       To  use	Ed  Lim's  textonly program to print the file out after a little paranoia to make
       sure that it's not a binary.

       magicfilter provides the following options for the facility  field  in  the  configuration

       cat [prefix [suffix]]
	      Copy  the input to the output without any conversion, like the cat command.  If the
	      optional prefix and suffix strings are  specified,  they	are  transmitted  to  the
	      printer  immediately  before  and  after	the  data  itself.  The prefix and suffix
	      strings can include escape sequences like \e (escape) To specify a suffix without a
	      prefix, specify an empty prefix string enclosed in double quotes (i.e. "").

       text [prefix [suffix]]
	      Copy  the input to the output, but add carriage return characters before every line
	      feed and form feed character in the file, and a line feed-form feed sequence at end
	      of  file.   The prefix and suffix arguments are treated the same way as for the cat
	      facility; the suffix, if present, is added after	the  final  line  feed-form  feed

	      Same as the text facility, except add an ASCII EOT (Ctrl-D) character to the end of
	      the data.  This lets a PostScript printer know that the end of  the  job	has  been
	      reached.	This is functionally equivalent to the command

	      text "" \004

       ignore Ignore the job; do not provide any output whatsoever.

       reject message
	      Same  as	the ignore facility, but attempt to send an email message to the user who
	      submitted the job to inform that a job has been rejected and why.

       filter command
	      Run the given command, feeding it the input data, and sending the  output  data  to
	      the  printer.  The environment variables LPUSER, LPHOST, and LPINDENT is set to the
	      values of the user, host and indent options passed to magicfilter.  Since the  com-
	      mand  is	fed to /bin/sh it may contain shell special characters, and the sequences
	      $LPUSER, $LPHOST, and $LPINDENT can be used to access  the  values  of  the  passed
	      environment  variables.	If  the  lpd daemon on the system is LPRng, the following
	      environment variables are also available, see  the  OPTIONS  section  for  details:

       pipe command
	      Same as the filter facility, except that the output data is fed back into magicfil-
	      ter for reprocessing.  This is used for external filter programs	which  themselves
	      do  not  produce a format that the printer can accept, but which can be futher pro-
	      cessed to obtain such a format.

       ffilter command

       fpipe command
	      Same as the filter and pipe facilities, respectively,  except  that  the	input  is
	      written  to  a  temporary file before being fed to the filter program given by com-
	      mand.  This is useful for programs which require seekable input, such as dvips,  or
	      which need to do multiple passes over an input file, such as grog.  The environment
	      variable FILE is set to the name of the temporary file (and, like the  other  ones,
	      it can be accessed on the command line as $FILE).

       Using  the  pipe  facility  together with zcat or gunzip lets you transparently print com-
       pressed files.

       The pbmplus or netpbm collections of image conversion utilities contain a large number  of
       very useful external filter programs.

       You  will probably want to examine the sample configuration files included with the magic-
       filter distribution before creating your own.

       Currently, there is no protection against the pipe or fpipe facilities going into an infi-
       nite loop.

       H. Peter Anvin <>, David Parsons <>

       printcap(5), lpr(8), dvips(1), grog(1), gs(1), gzip(1), troff(1).

February 2000				  Version 2.0.0 			   MAGICFILTER(5)

All times are GMT -4. The time now is 07:55 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password

Not a Forum Member?
Forgot Password?