1PSF(8) Netatalk 2.1 PSF(8)
2
3
4
6 psf - PostScript filter
7
9 psf [-n name] [-h host] [-w width] [-l length] [-i indent] [-c]
10
12 psf is an lpd filter for PostScript printing. psf interprets the name
13 it was called with to determine what filters to invoke. First, if the
14 string ``pap´´ appears anywhere in the name, psf invokes pap to talk to
15 a printer via AppleTalk. Next, if the string ``rev´´ appears, psf
16 invokes psorder to reverse the pages of the job. Finally, if psf was
17 called with a filter´s name as the leading string, it invokes that
18 filter. If there is no filter to run, psf examines the magic number of
19 the input, and if the input is not PostScript, converts it to
20 PostScript.
21
23 In the default configuration, psf supports two kludges. The first
24 causes psf to check its name for the letter `m´. If this letter is
25 found and accounting is turned on, psf calls pap twice, once to get an
26 initial page count and to print the job, and another time to get a
27 final page count. This is a work-around for bugs in a variety of PAP
28 implementions that cause printers to never properly close the PAP
29 output file. A notable example is any printer by Hewlett-Packard.
30
31 The second kludge causes psf to examine its name for the letter `w´. If
32 this letter is found and accounting is turned on, psf calls pap with
33 the -w flag. This flag causes pap to wait until the printer´s status
34 contains the string `idle´. Once this string is found, the job is
35 printed as normal. This kludge is a work-around for printers, notably
36 Hewlett-Packard´s LaserJet IV, which will report a page count while a
37 previous jobs is still printing.
38
40 The sample printcap entry below invokes psf to print text files,
41 PostScript files, troff´s C/A/T output, and TeX´s DVI output, to an
42 AppleTalk connected LaserWriter Plus. Since the LaserWriter Plus stacks
43 pages in descending order, we reverse the pages and print the burst
44 page last.
45
46 laser|lp|LaserWriter Plus on AppleTalk:\
47 :sd=/usr/spool/lpd/laser:\
48 :lp=/usr/spool/lpd/laser/null:\
49 :lf=/var/adm/lpd-errs:pw#80:hl:\
50 :of=/usr/libexec/ofpap:\
51 :if=/usr/libexec/ifpaprev:\
52 :tf=/usr/libexec/tfpaprev:\
53 :df=/usr/libexec/dfpaprev:
54
55 Note that if the host in question spools to more than one AppleTalk
56 printer, /dev/null should not be used for the lp capability. Instead, a
57 null device should be created with mknod for each printer, as has been
58 done above.
59
60 Finally, there is a file in the spool directory, /var/spool/lpd/laser,
61 called .paprc, which pap reads for the AppleTalk name of the printer.
62
64 psorder(1), printcap(5), lpd(1), mknod(1), pap(1).
65
66
67
68Netatalk 2.1 17 Dec 1991 PSF(8)