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
ln03of(8) System Manager's Manual ln03of(8) Name ln03of - LN03(S) laser printer filter Syntax /usr/lib/lpdfilters/ln03of [-c] [-nlogin] [-hhost] [-wwidth] [-lnum] [-iindent] [accounting file] Description The filter is used to filter text data destined for the LN03 and LN03S laser printers. The filter handles the device dependencies of the printers and performs accounting functions. Accounting records are written to the file specified by the af field in at the time of comple- tion for each job. The filter can handle plain ASCII files and files that have been preprocessed by nroff. The filter translates nroff control sequences for underlining, superscripting, and subscripting into the correct LN03(S) control sequences. The filter can be the specified filter in both the of and the if fields in the file. For further information, see When both fields are specified the of filter is used only to print the banner page. It is then stopped to allow the if filter access to the printer. The if filter maintains accounting information. If the of field is the only one specified the filter is used to print the banner page. It is then stopped and restarted. This allows the of filter to be used to maintain accounting information. If the if field is the only one specified the banner page will be sent directly to the printer. If the printer has been left in an undeter- mined state the banner page may not print correctly. The best results will be obtained when the filter is specified in both the of and if fields. For a more detailed discussion on filters see the ``Line Printer Spooler Manual'' in the ULTRIX 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: ln03of -wwidth -llength The width and length values come from the pw and pl fields in the database. The if (or restarted of) filter is passed the following arguments: ln03of -c -nlogin -hhost -wwidth -lnum -iindent accounting file The -c flag is optional, and supplied only when control characters are to be printed, that is, when the -l option of is used to print the file. The -w and -l arguments are the same as for the of filter, however, they may have different values if the -w and/or -z options of were used to print the file. If the value of the width is greater than 80 the job will be printed in landscape mode with a slightly smaller font. The length of the page is assumed to be 66 regardless of the length specified. The -n and -h argu- ments specify the login name and host name of the job owner. These arguments are used to record accounting information. The -i option specifies the amount of indentation to be used. The last argument is the name of the accounting file specified from the af field in the database. Diagnostics The lf field (default /dev/null) in the database specifies error logging file name. Files Printer capabilities database See Also lpr(1), pr(1), printcap(5), lpd(8), MAKEDEV(8), pac(8) ``Line Printer Spooler Manual,'' ULTRIX Supplementary Documents, Volume 2: Programmer ln03of(8)