'\" t .\" Title: psf .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 17 Dec 1991 .\" Manual: Netatalk 2.2 .\" Source: Netatalk 2.2 .\" Language: English .\" .TH "PSF" "8" "17 Dec 1991" "Netatalk 2.2" "Netatalk 2.2" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" psf \- PostScript filter .SH "SYNOPSIS" .HP \w'\fBpsf\fR\fB\fR\ 'u \fBpsf\fR\fB\fR [\-n\ \fIname\fR] [\-h\ \fIhost\fR] [\-w\ \fIwidth\fR] [\-l\ \fIlength\fR] [\-i\ \fIindent\fR] [\-c] .SH "DESCRIPTION" .PP \fBpsf\fR is an \fBlpd\fR filter for PostScript printing\&. \fBpsf\fR interprets the name it was called with to determine what filters to invoke\&. First, if the string ``pap\'\' appears anywhere in the name, \fBpsf\fR invokes \fBpap\fR to talk to a printer via AppleTalk\&. Next, if the string ``rev\'\' appears, \fBpsf\fR invokes \fBpsorder\fR to reverse the pages of the job\&. Finally, if \fBpsf\fR was called with a filter\'s name as the leading string, it invokes that filter\&. If there is no filter to run, \fBpsf\fR examines the magic number of the input, and if the input is not PostScript, converts it to PostScript\&. .SH "KLUDGE" .PP In the default configuration, \fBpsf\fR supports two kludges\&. The first causes \fBpsf\fR to check its name for the letter `m\'\&. If this letter is found and accounting is turned on, \fBpsf\fR calls \fBpap\fR 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\&. .PP The second kludge causes \fBpsf\fR to examine its name for the letter `w\'\&. If this letter is found and accounting is turned on, \fBpsf\fR calls \fBpap\fR with the \fB\-w\fR flag\&. This flag causes \fBpap\fR 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\&. .SH "EXAMPLE" .PP The sample \fBprintcap\fR entry below invokes \fBpsf\fR to print text files, PostScript files, \fBtroff\fR\'s C/A/T output, and \fBTeX\fR\'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\&. .sp .if n \{\ .RS 4 .\} .nf laser|lp|LaserWriter Plus on AppleTalk:\e :sd=/usr/spool/lpd/laser:\e :lp=/usr/spool/lpd/laser/null:\e :lf=/var/adm/lpd\-errs:pw#80:hl:\e :of=:LIBEXECDIR:/ofpap:\e :if=:LIBEXECDIR:/ifpaprev:\e :tf=:LIBEXECDIR:/tfpaprev:\e :df=:LIBEXECDIR:/dfpaprev: .fi .if n \{\ .RE .\} .PP Note that if the host in question spools to more than one AppleTalk printer, /dev/null should not be used for the \fBlp\fR capability\&. Instead, a null device should be created with \fBmknod\fR for each printer, as has been done above\&. .PP Finally, there is a file in the spool directory, /var/spool/lpd/laser, called \fB\&.paprc\fR, which \fBpap\fR reads for the AppleTalk name of the printer\&. .SH "SEE ALSO" .PP \fBpsorder\fR(1), \fBprintcap\fR(5), \fBlpd\fR(1), \fBmknod\fR(1), \fBpap\fR(1)\&.