psf(8) [redhat man page]
PSF(8) System Manager's Manual PSF(8) NAME
psf - PostScript filter SYNOPSIS
psf [ -n name ] [ -h host ] [ -w width ] [ -l length ] [ -i indent ] [ -c ] DESCRIPTION
psf is an lpd filter for PostScript printing. psf interprets the name it was called with to determine what filters to invoke. First, if the string ``pap'' appears anywhere in the name, psf invokes pap to talk to a printer via AppleTalk. Next, if the string ``rev'' appears, psf invokes psorder to reverse the pages of the job. Finally, if psf was called with a filter's name as the leading string, it invokes that filter. If there is no filter to run, psf examines the magic number of the input, and if the input is not PostScript, converts it to Post- Script. KLUDGE
In the default configuration, psf supports two kludges. The first causes psf to check its name for the letter `m'. If this letter is found and accounting is turned on, psf calls pap twice, once to get an initial page count and to print the job, and another time to get a final page count. This is a work-around for bugs in a variety of PAP implementions that cause printers to never properly close the PAP output file. A notable example is any printer by Hewlett-Packard. The second kludge causes psf to examine its name for the letter `w'. If this letter is found and accounting is turned on, psf calls pap with the -w flag. This flag causes pap to wait until the printer's status contains the string `idle'. Once this string is found, the job is printed as normal. This kludge is a work-around for printers, notably Hewlett-Packard's LaserJet IV, which will report a page count while a previous jobs is still printing. EXAMPLE
The sample printcap entry below invokes psf to print text files, PostScript files, troff's C/A/T output, and TeX's DVI output, to an AppleTalk connected LaserWriter Plus. Since the LaserWriter Plus stacks pages in descending order, we reverse the pages and print the burst page last. laser|lp|LaserWriter Plus on AppleTalk: :sd=/usr/spool/lpd/laser: :lp=/usr/spool/lpd/laser/null: :lf=/var/adm/lpd-errs:pw#80:hl: :of=/usr/lib/filters/ofpap: :if=/usr/lib/filters/ifpaprev: :tf=/usr/lib/filters/tfpaprev: :df=/usr/lib/filters/dfpaprev: Note that if the host in question spools to more than one AppleTalk printer, /dev/null should not be used for the lp capability. Instead, a null device should be created with mknod for each printer, as has been done above. Finally, there is a file in the spool directory, /var/spool/lpd/laser, called .paprc, which pap reads for the AppleTalk name of the printer. SEE ALSO
psorder(1), printcap(5), lpd(8), mknod(8), pap(8). netatalk 1.2 17 Dec 1991 PSF(8)
Check Out this Related Man Page
ln03rof(8) System Manager's Manual ln03rof(8) Name ln03rof, ln03rof_isolatin1, ln03rof_decmcs - LN03R ASCII to PostScript translation filters Syntax /usr/lib/lpdfilters/ln03rof [-c] [-nlogin] [-h host] [-wwidth] [-lnum] [-iindent] [accounting file] Description The filter translates ASCII to PostScript, handles the device dependencies of a PostScript printer and performs some accounting functions. PostScript printers print documents formatted in the PostScript Page Description Language only. The and filters are alternatives to and affect how ASCII documents are printed. They cause the encoding vectors for ISO Latin1 or DEC MCS to be used instead of the Adobe Standard Encoding Vector described in the LN03R PostScript Programmers Supplement. The filter uses idle cycles to cache the fonts when accessed by the standard encoding vector. The cached fonts cannot be used by or which means that small jobs are slowed down. The filter is transparent to documents already formatted in PostScript. The filter assumes that all other documents are plain ASCII and translates them into PostScript. The decision to translate is based on the first two characters in the document. If they are `%!', the filter assumes the document has already been formatted in PostScript. If the first two characters are not `%!', the filter assumes that the document is plain ASCII and translates it into PostScript. The filter ensures that the printer receives documents formatted in Post- Script only. The filter maintains accounting information only for documents that it translates. You specify the accounting file with the af field in the file. For further information, see You can specify the filter in both the of and the if fields of the file. The specification of the filter in the file determines how the command affects the printed document. For example: o If you specify it in the of field only and do not suppress banner pages, the filter always translates the document into PostScript. o If you specify it in the if field and do not suppress banner pages, the document does not print. In this case, the banner is sent directly to the printer. Since the banner is not formatted in PostScript, the printer cannot print the document and aborts the job. o If you suppress the banner by including the sh field in or by printing the file using the with the -h option, the document prints cor- rectly. o You can obtain the best results by specifying the filter in both the of and if fields. The ASCII data type for PrintServer software uses the filter. For more information about how the PostScript translator is invoked, see The filter sets a landscape print mode with a smaller font if the width is greater than 80 columns. The default width for the entry in the file is 132. To print using portrait mode, modify the file to include the following two entries: :pl#66: :pw#80: When printing in portrait mode, if the job page length is greater than 66 a smaller font is used. For a more detailed discussion on filters see the ``Line Printer Spooler Manual'' in the Supplementary Documents, Volume 2: Programmer. Options The arguments passed to the filter depend on its use. The of filter is called with the following arguments: -llength Specify length values from the pl field in the file . -wwidth Specify width values from the pw field in the file. The if filter is passed the following arguments: -c Print control characters when you use the -l option of to print the file. (Optional flag). -hhost Specify the host name of the job owner. (Used to record accounting information). -iindent Specify the amount of indentation to be used. The last argument is the name of the accounting file specified from the af field in the file. -llength Specify length value from the pl field in the file as it does with the of filter. Arguments may have different values if the -w and/or -z options of were used to print the file. -nlogin Specify the login name of the job owner. (Used to record accounting information). -wwidth Specify width value from the pw field in the file as it does with the of filter. Arguments may have different values if the -w and/or -z options of were used to print the file. These arguments only affect documents that are translated from ASCII to PostScript. Diagnostics The lf field (default /dev/null) in the file specifies the error logging file name. Files Printer capabilities database. Shell script to invoke PostScript translators. See Also lpr(1), pr(1), printcap(5), lpd(8), MAKEDEV(8), pac(8), xlator_call(8) "Line Printer Spooler Manual", Supplementary Documents, Volume 2: Programmer ln03rof(8)