Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<html>
3
<head>
4
<title>Setting up a Unix lpr filter for Ghostscript</title>
5
<!-- $Id: Unix-lpr.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ -->
6
<!-- Originally: unix-lpr.txt -->
7
<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
8
</head>
9
 
10
<body>
11
<!-- [1.0 begin visible header] ============================================ -->
12
 
13
<!-- [1.1 begin headline] ================================================== -->
14
 
15
<h1>Setting up a Unix <tt>lpr</tt> filter for Ghostscript</h1>
16
 
17
<!-- [1.1 end headline] ==================================================== -->
18
 
19
<!-- [1.2 begin table of contents] ========================================= -->
20
 
21
<h2>Table of contents</h2>
22
 
23
<blockquote><ul>
24
<li><a href="#Overview">Overview</a>
25
<li><a href="#What_it_can_do">What it can do</a>
26
<li><a href="#Setting_up">Setting it up</a>
27
<ul>
28
<li><a href="#Editing_device_list">Editing the device list <b><tt>DEVICES</tt></b></a>
29
<ul>
30
<li><a href="#Field_bpp">Field 1: bits per pixel</a>
31
<li><a href="#Field_colours">Field 2: colours</a>
32
<li><a href="#Field_dq">Field 3: dual queues</a>
33
<li><a href="#Device_example">Example definition of <b><tt>DEVICES</tt></b></a>
34
</ul>
35
<li><a href="#Editing_filter_list">Editing the filter list</a>
36
<li><a href="#Editing_printer_port">Editing the printer port and type</a>
37
<li><a href="#Modifying_printcap_insert">Modifying <b><tt>printcap.insert</tt></b></a>
38
<li><a href="#Multiple_queues">Single or dual queues</a>
39
</ul>
40
<li><a href="#Bugs">Bugs</a>
41
<li><a href="#Authors">Authors</a>
42
</ul></blockquote>
43
 
44
<!-- [1.2 end table of contents] =========================================== -->
45
 
46
<!-- [1.3 begin hint] ====================================================== -->
47
 
48
<p>For other information, see the <a href="Readme.htm">Ghostscript
49
overview</a> and the <a href="Use.htm">usage documentation</a>.
50
 
51
<!-- [1.3 end hint] ======================================================== -->
52
 
53
<hr>
54
 
55
<!-- [1.0 end visible header] ============================================== -->
56
 
57
<!-- [2.0 begin contents] ================================================== -->
58
 
59
<h2><a name="Overview"></a>Overview</h2>
60
 
61
<p>
62
"How do I set up Ghostscript to provide PostScript queues in a standard lpr
63
environment on Unix systems?" is a Frequently Asked Question amongst
64
Ghostscript users.  The two shell scripts described by this document are
65
designed to make this task a little easier. They are
66
 
67
<blockquote><dl>
68
<dt><b><tt>unix-lpr.sh</tt></b>
69
<dd>a flexible, multi-option print filter
70
 
71
<dt><b><tt>lprsetup.sh</tt></b>
72
<dd>A shell script which sets up soft links and creates a template insert
73
for the <b><tt>printcap</tt></b> file
74
</dl></blockquote>
75
 
76
<hr>
77
 
78
<h2><a name="What_it_can_do"></a>What it can do</h2>
79
 
80
<p>
81
The print filter resides in the Ghostscript installation directory (often
82
<b><tt>/usr/local/share/ghostscript</tt></b>, but may be something else at
83
your installation), together with a dummy filter directory containing
84
various soft links which point to the filter. It offers the following
85
features:
86
 
87
<ul>
88
<li>Multiple devices supported by a single filter
89
<li>Multiple bit-depths for the same device
90
<li>Multiple number of colours for the same device
91
<li>Direct (single-queue) and indirect (two-queue) setup
92
<li>Support for the standard preprocessing filters if you have the
93
corresponding (whatever)-to-PostScript translators
94
<li>Redirection of diagnostic and programmed output to a logfile in
95
the spooling directory
96
<li>Maintaining of printer accounting records of the numbers of pages
97
printed by each user (compatible with the <b><tt>pac</tt></b> command)
98
<li>Straightforward editing for further customisation
99
</ul>
100
 
101
<hr>
102
 
103
<h2><a name="Setting_up"></a>Setting it up</h2>
104
 
105
<p>
106
The <b><tt>lprsetup.sh</tt></b> script needs to have two lines edited
107
before running, to set the printer devices to use and the list of filters
108
available. With this information, it
109
 
110
<ul>
111
<li>creates a "<b><tt>filt</tt></b>" subdirectory under the
112
Ghostscript installation directory
113
<li>creates the links in this directory which enable the filter to
114
determine the parameters for running Ghostscript
115
<li>automatically generates <b><tt>printcap</tt></b> entries which should
116
need only a little editing before adding to your system
117
<b><tt>printcap</tt></b> file
118
</ul>
119
 
120
<h3><a name="Editing_device_list"></a>Editing the device list <tt>DEVICES</tt></h3>
121
 
122
<p>
123
At the top of <b><tt>lprsetup.sh</tt></b> is a line of the form
124
<b><tt>DEVICES=</tt></b><em>{list}</em>.  Replace the example list with
125
your own list of devices.  Each entry is the name of a device, followed by
126
three more optional fields, separated by dots "<b><tt>.</tt></b>".
127
 
128
<h4><a name="Field_bpp"></a>Field 1: bits per pixel</h4>
129
 
130
<p>
131
The first field is required only if the printer device understands the <a
132
href="Devices.htm#deskjet_parameters"><b><tt>-dBitsPerPixel=</tt></b>
133
switch</a>, which applies only to colour devices. For a particular number
134
<b><em>N</em></b> of bits per pixel, add the suffix <b><em>.N</em></b> to
135
the device name, for instance <b><tt>cdj500.3</tt></b>,
136
<b><tt>cdj500.24</tt></b>, etc.
137
 
138
<h4><a name="Field_colours"></a>Field 2: colours</h4>
139
 
140
<p>
141
The second field is required only if the printer device understands the
142
setting of the <b><tt>Colors</tt></b> device parameter (as in
143
<b><tt>-dColors=</tt></b>), which applies only to colour devices (and at
144
present is only supported by the <b><tt>bjc</tt></b>* family of drivers).
145
For a particular number <b><em>N</em></b> of colours, suffix
146
<b><em>.N</em></b> to the device name, such as <b><tt>bjc600.24.3</tt></b>,
147
<b><tt>bjc600.8.1</tt></b> etc.
148
 
149
<h4><a name="Field_dq"></a>Field 3: dual queues</h4>
150
 
151
<p>
152
The third field is required in order to use two separate queues for the
153
device, a "raw" queue and a PostScript queue (see
154
"<a href="#Multiple_queues">Single or dual queues</a>" below).  If you want
155
dual queues, add the suffix <b><tt>.dq</tt></b> ("dual queue") to the name,
156
whether or not a <a href="#Field_bpp">bits-per-pixel suffix</a> has already
157
been added.
158
 
159
<h4><a name="Device_example"></a>Example definition of
160
<tt>DEVICES</tt></h4>
161
 
162
<p>
163
Thus the following list supports a <b><tt>cdj550</tt></b> device at three
164
different bit depths (24 bpp, 3 bpp and 1 bpp), with a dual queue (that is,
165
a separate queue for the raw data); a monochrome <b><tt>deskjet</tt></b>
166
device with a single queue; and a <b><tt>djet500</tt></b> device using a
167
separate queue:
168
 
169
<blockquote><b><tt>
170
DEVICES="cdj550.24.dq&nbsp;cdj550.3.dq&nbsp;cdj550.1.dq&nbsp;deskjet&nbsp;djet500.dq"
171
</tt></b></blockquote>
172
 
173
<h3><a name="Editing_filter_list"></a>Editing the filter list</h3>
174
 
175
<p>
176
The standard list contains only the generic "<b><tt>if</tt></b>" filter,
177
but a commented-out list shows other filters which may be available.  If
178
you wish to use the support for these filters, you may need to edit the
179
<b><tt>bsd-if</tt></b> file to add to the <b><tt>PATH</tt></b> the
180
directories where the translators are stored, or to change the names of the
181
filters if yours are different.  The <b><tt>bsd-if</tt></b> script is
182
supplied with an example setup using Transcript (a commercial package from
183
Adobe), and PBMPLUS, a freeware package by Jef Poskanzer and others.
184
 
185
<h3><a name="Editing_printer_port"></a>Editing the printer port and
186
type</h3>
187
 
188
<p>
189
You can set the port and port type (parallel or printer) for an attached
190
printer, but for remote printers you'll have to modify the
191
<tt>printcap.insert</tt> file yourself.
192
 
193
<h3><a name="Modifying_printcap_insert"></a>Modifying
194
<tt>printcap.insert</tt></h3>
195
 
196
<p>
197
Running <b><tt>lprsetup.sh</tt></b> generates a file
198
<b><tt>printcap.insert</tt></b> which has a template setup for your
199
printer queues.  It cannot guarantee to do the whole job, and you will
200
probably need to consult your system documentation and edit this file
201
before you add it to your <b><tt>printcap</tt></b> file.  The file has good
202
defaults for serial printers, as these often cause problems in getting
203
binary data to the printer.  However, you may need to change the baud rate,
204
or the handshaking method.  Only a small change is required in the
205
<b><tt>printcap</tt></b> file to use a networked remote printer instead of
206
an attached printer, and an example is given in
207
<b><tt>printcap.insert</tt></b>.
208
 
209
<h3><a name="Multiple_queues"></a>Single or dual queues</h3>
210
 
211
<p>
212
If you wish to provide a PostScript-only queue (for example, so that all
213
pages printed go through accounting), and the printer port is local to the
214
host machine, a single queue is appropriate -- Ghostscript simply converts
215
PostScript into the printer's native data format and sends it to the
216
port.  But if the printer is on a remote networked machine, or if you need to
217
send raw printer data to the printer, you must use two queues.  Simply
218
specify the <a href="#Field_dq">"<b><tt>.dq</tt></b>" option</a> above.
219
 
220
<hr>
221
 
222
<h2><a name="Bugs"></a>Bugs</h2>
223
 
224
<p>
225
You must have write access to the Ghostscript installation directory for
226
<b><tt>lprsetup.sh</tt></b> to create the filter directory and soft links.
227
 
228
<p>
229
If you have several different values of bits per pixel for the same device,
230
you must list all instances of that device as adjacent items in the
231
<a href="#Editing_device_list"><b><tt>DEVICES</tt></b></a> device
232
list.  If you do not, <b><tt>printcap.insert</tt></b> will contain multiple
233
entries for the same device, which is not supported.
234
 
235
<hr>
236
 
237
<h2><a name="Authors"></a>Authors</h2>
238
 
239
<p>
240
This material was contributed by George Cameron.  Yves Arrouye
241
&lt;<a href="mailto:yves.arrouye@usa.net">yves.arrouye@usa.net</a>&gt;
242
is responsible for the number-of-colours part of the script.
243
 
244
<!-- [2.0 end contents] ==================================================== -->
245
 
246
<!-- [3.0 begin visible trailer] =========================================== -->
247
<hr>
248
 
249
<p>
250
<small>Copyright &copy; 1996, 1997, 1998 Aladdin Enterprises.  All
251
rights reserved.</small>
252
 
253
<p>
254
This software is provided AS-IS with no warranty, either express or
255
implied.
256
 
257
This software is distributed under license and may not be copied,
258
modified or distributed except as expressly authorized under the terms
259
of the license contained in the file LICENSE in this distribution.
260
 
261
For more information about licensing, please refer to
262
http://www.ghostscript.com/licensing/. For information on
263
commercial licensing, go to http://www.artifex.com/licensing/ or
264
contact Artifex Software, Inc., 101 Lucas Valley Road #110,
265
San Rafael, CA  94903, U.S.A., +1(415)492-9861.
266
 
267
<p>
268
<small>Ghostscript version 8.53, 20 October 2005
269
 
270
<!-- [3.0 end visible trailer] ============================================= -->
271
 
272
</body>
273
</html>