]> arthur.barton.de Git - netatalk.git/blob - man/man8/psf.8.tmpl
ca83684c7887f46b3491be237519c39e2f811bf8
[netatalk.git] / man / man8 / psf.8.tmpl
1 .TH PSF 8 "17 Dec 1991" "netatalk 1.2"
2 .SH NAME
3 psf \- PostScript filter
4 .SH SYNOPSIS
5 .B psf
6 [
7 .B -n
8 .I name
9 ] [
10 .B -h
11 .I host
12 ] [
13 .B -w
14 .I width
15 ] [
16 .B -l
17 .I length
18 ] [
19 .B -i
20 .I indent
21 ] [
22 .B -c
23 ]
24 .SH DESCRIPTION
25 .B psf
26 is an
27 .B lpd
28 filter for PostScript printing.
29 .B psf
30 interprets the name it was called with to determine what filters to
31 invoke. First, if the string ``pap'' appears anywhere in the name,
32 .B psf
33 invokes
34 .B pap
35 to talk to a printer via AppleTalk. Next, if the string ``rev'' appears,
36 .B psf
37 invokes
38 .B psorder
39 to reverse the pages of the job. Finally, if
40 .B psf
41 was called with a filter's name as the leading string, it invokes that
42 filter. If there is no filter to run,
43 .B psf
44 examines the magic number of the input, and if the input is not
45 PostScript, converts it to PostScript.
46 .SH KLUDGE
47 In the default configuration,
48 .B psf
49 supports two kludges.  The first causes
50 .B psf
51 to check its name for the letter `m'.  If this letter is found and accounting
52 is turned on,
53 .B psf
54 calls
55 .B pap
56 twice, once to get an initial page count and to print the job, and
57 another time to get a final page count.  This is a work-around for bugs
58 in a variety of PAP implementions that cause printers to never properly
59 close the PAP output file.  A notable example is any printer by
60 Hewlett-Packard.
61 .LP
62 The second kludge causes
63 .B psf
64 to examine its name for the letter `w'.  If this letter is found and
65 accounting is turned on,
66 .B psf
67 calls
68 .B pap
69 with the
70 .B \-w
71 flag.  This flag causes
72 .B pap
73 to wait until the printer's status contains the string `idle'.  Once
74 this string is found, the job is printed as normal.  This kludge is a
75 work-around for printers, notably Hewlett-Packard's LaserJet IV, which
76 will report a page count while a previous jobs is still printing.
77 .SH EXAMPLE
78 The sample
79 .B printcap
80 entry below invokes
81 .B psf
82 to print text files, PostScript files,
83 .BR troff 's
84 C/A/T output, and
85 .BR TeX 's
86 DVI output, to an AppleTalk connected LaserWriter Plus. Since the
87 LaserWriter Plus stacks pages in descending order, we reverse the pages
88 and print the burst page last.
89 .sp
90 .RS
91 .nf
92 laser|lp|LaserWriter Plus on AppleTalk:\\
93     :sd=/usr/spool/lpd/laser:\\
94     :lp=/usr/spool/lpd/laser/null:\\
95     :lf=/var/adm/lpd-errs:pw#80:hl:\\
96     :of=:LIBEXECDIR:/ofpap:\\
97     :if=:LIBEXECDIR:/ifpaprev:\\
98     :tf=:LIBEXECDIR:/tfpaprev:\\
99     :df=:LIBEXECDIR:/dfpaprev:
100 .fi
101 .RE
102 .sp
103 Note that if the host in question spools to more than one AppleTalk
104 printer,
105 .B /dev/null
106 should not be used for the
107 .B lp
108 capability. Instead, a null device should be created with
109 .B mknod
110 for each printer, as has been done above.
111 .LP
112 Finally, there is a file in the spool directory,
113 .BR /var/spool/lpd/laser ,
114 called
115 .BR .paprc ,
116 which
117 .B pap
118 reads for the AppleTalk name of the printer.
119 .SH SEE ALSO
120 .BR psorder (1),
121 .BR printcap (5),
122 .BR lpd (8),
123 .BR mknod (8),
124 .BR pap (8).