4
poster \- Scale and tile a postscript image to print on multiple pages
8
poster <options> infile
11
\fIPoster\fP can be used to create a large poster by building it
12
from multiple pages and/or printing it on large media.
13
It expects as input a generic (encapsulated) postscript
14
file, normally printing on a single page.
15
The output is again a postscript file, maybe containing multiple pages
16
together building the poster.
17
The output pages bear cutmarks and have slightly overlapping images
18
for easier assembling.
19
The input picture will be scaled to obtain the desired size.
21
The program uses a brute-force method: it copies the entire input
22
file for each output page, hence the output file can be very large.
23
Since the program does not really bother about the input file contents,
24
it clearly works for both black-and-white and color postscript.
26
To control its operation, you need to specify either the size
27
of the desired poster or a scale factor for the image:
30
Given the poster size, it calculates the required number of sheets
31
to print on, and from that a scale factor to fill these sheets optimally with the
35
Given a scale factor, it derives the required number of pages from the input
36
image size, and positions the scaled image centered on this area.
38
Its input file should best be a real `Encapsulated Postscript' file
39
(often denoted with the extension .eps or .epsf).
40
Such files can be generated from about all current drawing applications,
41
and text processors like Word, Interleaf and Framemaker.
43
However \fIposter\fP tries to behave properly also on more relaxed,
44
general postscript files containing a single page definition.
45
Proper operation is obtained for instance on pages generated
46
by (La)TeX and (g)troff.
48
The media to print on can be selected independently from the input image size
49
and/or the poster size. \fIPoster\fP will determine by itself whether it
50
is beneficial to rotate the output image on the media.
52
To preview the output results of \fIposter\fP and/or to (re-)print individual
53
output pages, you should use a postscript previewer like ghostview(1).
59
Be verbose. Tell about scaling, rotation and number of pages.
61
Default is silent operation.
64
Ask manual media feed on the plotting/printing device,
65
instead of using its standard paper tray.
67
Default is adhering to the device settings.
70
Specify the size of the input image.
72
Default is reading the image size from the `%%BoundingBox' specification
73
in the input file header.
76
Specify the desired media size to print on. See below for <box>.
78
The default is set at compile time, being A4 in the standard package.
81
Specify the poster size. See below for <box>.
82
Since \fIposter\fP will autonomously choose for rotation,
83
always specify a `portrait' poster size (i.e. higher then wide).
85
If you don't give the -s option, the default poster size is identical to the
89
Specify a linear scaling factor to produce the poster.
90
Together with the input image size and optional margins, this induces
91
an output poster size. So don't specify both -s and -p.
93
Default is deriving the scale factor to fit a given poster size.
95
-c <box> \fIor\fP -c <number>%
97
Specify the cut margin. This is the distance between the cutmarks and
98
the paper edge. If the output is really tiled on multiple sheets,
99
the cut marks indicate where to cut the paper for assembly.
100
This margin must be big enough to cover the non-printable margin which almost
101
all printers have. For <box> see below.
103
Default is 5%. Only when you specify identical poster and media sizes,
104
the default cut margin becomes 0, effectively removing the cutmarks.
106
-w <box> \fIor\fP -w <number>%
108
Specify a white margin around the output image.
110
In the `ideal' situation (when an input `eps' file specifies an exact
111
BoundingBox in its header), the output image will be scaled exactly to
112
the edges of the resulting poster (minus cut margin). If you desire
113
a certain margin to remain around the picture after poster assembly,
114
you can specify this with `-w'.
116
(This option is actually redundant, since you can obtain the same result
117
using -s or -i. However some might find this more convenient.)
122
Specify the name of the file to write the output into.
124
(Only added for those poor people who cannot specify output redirection
125
from their command line due to a silly OS.)
127
Default is writing to standard output.
129
The <box> mentioned above is a specification of horizontal and vertical size.
130
Only in combination with the `-i' option, the program also understands the
131
offset specification in the <box>.
134
<box> = [<multiplier>][<offset>]<unit>
136
with multipier and offset being specified optionally.
137
<multiplier> = <number>*<number>
139
<offset> = +<number>,<number>
141
<unit> = <medianame> or <distancename>
143
Many international media names are recognised by the program, in upper and lower case,
144
and can be shortened to their first few characters, as long as unique.
145
For instance `A0', `Let'.
147
Distance names are like `cm', `i', `ft'.
151
The following command prints an A4 input file on 8 A3 pages, forming an A0
153
poster -v -iA4 -mA3 -pA0 infile >outfile
156
The next command prints an eps input image on a poster of 3x3 Letter pages:
157
poster -v -mLet -p3x3Let image.eps > outfile
160
The next command enlarges an eps input image to print on a
161
large-media A0 capable device, maintaining 2 inch margins:
162
poster -v -mA0 -w2x2i image.eps > outfile
165
Enlarge a postscript image exactly 4 times, print on the default A4 media,
166
and let \fIposter\fP determine the number of pages required:
167
poster -v -s4 image.eps > outfile
170
Scale a postscript image to a poster of about 1 square meter, printing
171
on `Legal' media, maintaining a 10% of `Legal' size as white margin
173
poster -v -mLegal -p1x1m -w10% infile.ps >outfile
176
.SH "PROBLEMS & QUESTIONS"
177
.SS "I get a blurry image and/or interference patterns"
178
If your input file contains -or consists of- pixel images (as opposed
179
to just vector data which is essentially resolution independent),
180
you might have this problem.
181
Such pixel images are normally made to fit well to standard 300 (or 600) dpi devices.
182
Scaling such a picture with an uncarefully chosen factor,
183
can easily lead to hazy edges and interference patterns on the output.
184
The solution is to provide \fIposter\fP with an exact scaling factor
185
(with the -s option), chosen as an integer. If integer scaling is
186
unpractical for your purpose,
187
choose a fractional number made from a small integer denominator (2, 3, 4).
188
.SS "Can I select only a small part of a given input picture?"
189
Yes, for this purpose you can define both the size (width and height)
190
and offset (from left and bottom) of a window on the input image.
191
Specify these numbers as argument to a `-i' command line option.
193
One way to obtain such numbers is previewing the original image with
195
and observing the coordinate numbers which it continually displays.
196
These numbers are in postscript units (points),
197
named by \fIposter\fP as just `p'.
198
.SS "Poster doesn't seem to work properly, output pages are empty"
199
The major cause for poster not to work correctly, is giving it
200
postscript files which don't conform to proper 'eps' behaviour.
201
Try whether your application (or printer driver) cannot generate
202
real 'encapsulated postscript'.
203
.SS "If I ask for a 50x50cm poster, it always generates something bigger"
204
Yes, probably. When specifying a desired output size with the `-p' option,
205
\fIposter\fP first determines an array of sheets to cover such an area.
206
Then it determines a scale factor for the picture to fill these sheets upto
207
their edge. As result your requested size is used as rough guess only.
208
If you want an exact output size, specify the scaling factor yourself
209
with the `-s' option (and omit the `-p').
210
.SS "I want to keep the white space around the poster as in my original"
211
\fIPoster\fP will as default use the input image bounding box, and
212
scale/translate that to the edges of your poster.
213
If the program which generated your input file specifies an exact and tight
214
%%BoundingBox, you will indeed loose your white margin.
215
To keep the original margin, specify a `-i' option with as argument the papersize
216
on which the original document was formatted (such as `-iA4').
217
Alternatively specify a smaller scale factor (with -s) or an explicit new
221
.SH "POSTER ASSEMBLY"
222
Our preferred method for the assembly of a poster from multiple sheets
226
Arrange the sheets in the proper order on a large table or on the floor.
229
Remove from all sheets, except from those in the leftmost column or
230
bottom row, their left and bottom cutmargin.
233
In left-to-right and bottom-to-top order, glue the right (and top) cutmargin
234
and stick the right (and upper) neighbouring page on top of that.
237
Turn the glued-together poster face bottom, and put adhesive tape on the sheet
238
edges (on the backside of the poster) for more strength.
241
Remove the remaining cutmargin around the poster.
244
.SH "DEVICE SETTINGS"
245
For postscript level-2 capable printers/plotters, which is about all modern postscript
246
devices today, \fIposter\fP will send device settings in its output file.
247
This consists of a `setpagedevice' call, setting:
252
This is required for all printers I know to get correct
253
behaviour on different media/picture sizes.
258
Some printers will otherwise perform double-side printing by default.
259
Clearly that is not what you want to print a poster.
264
This is given only when \fIposter\fP was executed with the `-f'
265
command line option. This is a convenient feature if you want to print
266
your job on different media than normally installed in the paper tray,
267
and you are submitting your job through a multi-user networking and
268
spooling environment.
270
These settings cause proper device behaviour, without the need to
271
manually interact with the printer settings, and has been here locally
272
tested to work on devices like the HP300XL and HP650C.
274
The settings thus passed in the postscript file, will affect the device
277
.SH "DSC CONFORMANCE"
278
\fIPoster\fP will generate its own DSC header and other DSC lines
279
in the output file, according the `Document Structuring Conventions - version
281
as written down in the `Postscript Language Reference Manual, 2nd ed.' from
282
Adobe Systems Inc, Addison Wesley Publ comp., 1990.
284
It will copy any `%%Document...' line from the input file DSC header to its
285
own header output. This is used here in particular for required nonresident
288
However the copy(s) of the input file included in the output,
289
are stripped from all lines starting with a `%', since they tend to
290
disturb our `ghostview' previewer and take useless space anyhow.
298
Jos van Eijndhoven (email: J.T.J.v.Eijndhoven@ele.tue.nl)
299
Design Automation Section (http://www.ics.ele.tue.nl)
301
Eindhoven Univ of Technology