home | help
POSTER(1)		     General Commands Manual		       POSTER(1)

NAME
     poster - Scale and tile a postscript image to print on multiple pages

SYNOPSIS
     poster <options> infile

DESCRIPTION
     Poster  can  be  used to create a large poster by building it from multiple
     pages and/or printing it on large media.  It expects  as  input  a  generic
     (encapsulated)  postscript  file,	normally printing on a single page.  The
     output is again a postscript file, maybe containing multiple pages together
     building the poster.  The output pages  bear  cutmarks  and  have	slightly
     overlapping images for easier assembling.	The input picture will be scaled
     to obtain the desired size.

     The  program uses a brute-force method: it copies the entire input file for
     each output page, hence the output file can be very large.  Since the  pro-
     gram does not really bother about the input file contents, it clearly works
     for both black-and-white and color postscript.

     To  control  its  operation, you need to specify either the size of the de-
     sired poster or a scale factor for the image:

     -
       Given the poster size, it calculates the required  number  of  sheets  to
       print  on,  and	from  that a scale factor to fill these sheets optimally
       with the input image.

     -
       Given a scale factor, it derives the required number of	pages  from  the
       input image size, and positions the scaled image centered on this area.

     Its  input file should best be a real `Encapsulated Postscript' file (often
     denoted with the extension .eps or .epsf).  Such  files  can  be  generated
     from about all current drawing applications, and text processors like Word,
     Interleaf and Framemaker.
     However poster tries to behave properly also on more relaxed, general post-
     script  files containing a single page definition.  Proper operation is ob-
     tained for instance on pages generated by (La)TeX and (g)troff.

     The media to print on can be selected independently from  the  input  image
     size  and/or the poster size. Poster will determine by itself whether it is
     beneficial to rotate the output image on the media.

     To preview the output results of poster  and/or  to  (re-)print  individual
     output pages, you should use a postscript previewer like ghostview(1).

OPTIONS
     -v
	Be verbose. Tell about scaling, rotation and number of pages.
	Default is silent operation.

     -f
	Ask  manual media feed on the plotting/printing device, instead of using
	its standard paper tray.
	Default is adhering to the device settings.

     -i <box>
	Specify the size of the input image.
	Default is reading the image size from the `%%BoundingBox' specification
	in the input file header.

     -m <box>
	Specify the desired media size to print on. See below for <box>.
	The default is set at compile time, being A4 in the standard package.

     -p <box>
	Specify the poster size. See below for <box>.	Since  poster  will  au-
	tonomously  choose for rotation, always specify a `portrait' poster size
	(i.e. higher then wide).
	If you give neither the -s nor the -p option, the default poster size is
	identical to the media size.

     -s <number>
	Specify a linear scaling factor to produce the	poster.   Together  with
	the input image size and optional margins, this induces an output poster
	size. So don't specify both -s and -p.
	Default is deriving the scale factor to fit a given poster size.

     -c <box> or -c <number>%
	Specify  the  cut  margin. This is the distance between the cutmarks and
	the paper edge. If the output is really tiled on  multiple  sheets,  the
	cut  marks  indicate  where  to cut the paper for assembly.  This margin
	must be big enough to cover the non-printable margin  which  almost  all
	printers have. For <box> see below.
	Default  is  5%. Only when you specify identical poster and media sizes,
	the default cut margin becomes 0, effectively removing the cutmarks.

     -w <box> or -w <number>%
	Specify a white margin around the output image.
	In the `ideal' situation (when an input `eps' file  specifies  an  exact
	BoundingBox  in  its header), the output image will be scaled exactly to
	the edges of the resulting poster (minus cut margin). If  you  desire  a
	certain  margin  to remain around the picture after poster assembly, you
	can specify this with `-w'.
	(This option is actually redundant, since you can obtain the same result
	using -s or -i. However some might find this more convenient.)
	Default is 0.

     -C <number>
	Select the clipping facilities you want to see on the page margin.
	Clipping facilities are the cut marks, consisting of cut mark line,  cut
	mark arrow head and the grid labels.
	The following bits in the argument represent one of the clipping facili-
	ties:
	     bit 1 (value = 1): cutmark lines
	     bit 2 (value = 2): cutmark arrow heads
	     bit 3 (value = 4): grid label
	Default is printing all clipping facilities.

     -O <number>
	Specify  how  many Postscript dots the content of the output pages shall
	overlap.
	Overlapping content makes it easier to glue together  pages  seamlessly,
	but it consumes printing space.
	Default is 6.

     -P <pagespec>
	Specify which pages of the poster to print. It consists of a comma-sepa-
	rated list of single pages or page ranges (using the dash). The order in
	which  page number appears determines the final page order in the result
	PostScript file. Page numbering starts at 1, from left to right and bot-
	tom-up.
	Examples: 1-2 or 1,3-4,7

     -o <outputfile>
	Specify the name of the file to write the output into.
	(Only added for those poor people who cannot specify output  redirection
	from their command line due to a silly OS.)
	Default is writing to standard output.

     The  <box>  mentioned  above  is a specification of horizontal and vertical
     size.  Only in combination with the `-i' option, the  program  also  under-
     stands the offset specification in the <box>.
     In general:
	  <box> = [<multiplier>][<offset>]<unit>
     with multipier and offset being specified optionally.
	  <multiplier> = <number>x<number>
	  <offset> = +<number>,<number>
	  <unit> = <medianame> or <distancename>

     Many  international media names are recognised by the program, in upper and
     lower case, and can be shortened to their first few characters, as long  as
     unique.  For instance `A0', `Let'.
     Distance names are like `cm', `i', `ft'.

EXAMPLES
     The  following command prints an A4 input file on 8 A3 pages, forming an A0
     poster:
	      poster -v -iA4 -mA3 -pA0 infile > outfile

     The next command prints an eps input image on a poster of 3x3 Letter pages:
	      poster -v -mLet -p3x3Let	image.eps > outfile

     The next command enlarges an eps input image to print on a  large-media  A0
     capable device, maintaining 2 inch margins:
	      poster -v -mA0 -w2x2i image.eps > outfile

     Enlarge  a postscript image exactly 4 times, print on the default A4 media,
     and let poster determine the number of pages required:
	      poster -v -s4 image.eps > outfile

     Scale a postscript image to a poster of about 1 square meter,  printing  on
     `Legal' media, maintaining a 10% of `Legal' size as white margin around the
     poster. Print cutmark lines and grid labels, but don't print cut mark arrow
     heads.
	      poster -v -mLegal -p1x1m -w10% -C5 infile.ps > outfile

PROBLEMS & QUESTIONS
   I get a blurry image and/or interference patterns
     If  your  input  file contains -or consists of- pixel images (as opposed to
     just vector data which is essentially resolution  independent),  you  might
     have  this  problem.   Such  pixel  images are normally made to fit well to
     standard 300 (or 600) dpi devices.  Scaling such a picture with an  uncare-
     fully  chosen  factor,  can easily lead to hazy edges and interference pat-
     terns on the output.  The solution is to provide poster with an exact scal-
     ing factor (with the -s option), chosen as an integer. If	integer  scaling
     is  unpractical  for  your  purpose, choose a fractional number made from a
     small integer denominator (2, 3, 4).

   Can I select only a small part of a given input picture?
     Yes, for this purpose you can define both the size (width and  height)  and
     offset  (from  left  and  bottom)	of a window on the input image.  Specify
     these numbers as argument to a `-i' command line option.
     One way to obtain such  numbers  is  previewing  the  original  image  with
     ghostview,  and  observing the coordinate numbers which it continually dis-
     plays.  These numbers are in postscript units (points), named by poster  as
     just `p'.

   Poster doesn't seem to work properly, output pages are empty
     The  major  cause for poster not to work correctly, is giving it postscript
     files which don't conform to proper 'eps' behaviour.  Try whether your  ap-
     plication	(or  printer  driver)  cannot  generate real 'encapsulated post-
     script'.

   If I ask for a 50x50cm poster, it always generates something bigger
     Yes, probably. When specifying a desired output size with the `-p'  option,
     poster  first determines an array of sheets to cover such an area.  Then it
     determines a scale factor for the picture to fill these sheets  upto  their
     edge.  As	result	your requested size is used as rough guess only.  If you
     want an exact output size, specify the scaling  factor  yourself  with  the
     `-s' option (and omit the `-p').

   I want to keep the white space around the poster as in my original
     Poster  will  as default use the input image bounding box, and scale/trans-
     late that to the edges of your poster.  If the program which generated your
     input file specifies an exact and	tight  %%BoundingBox,  you  will  indeed
     loose  your  white margin.  To keep the original margin, specify a `-i' op-
     tion with as argument the papersize on which the original document was for-
     matted (such as `-iA4').  Alternatively  specify  a  smaller  scale  factor
     (with -s) or an explicit new margin (with -w).

POSTER ASSEMBLY
     Our  preferred  method for the assembly of a poster from multiple sheets is
     as follows:

     -
       Arrange the sheets in the proper order on a large table or on the floor.

     -
       Remove from all sheets, except from those in the leftmost column or  bot-
       tom row, their left and bottom cutmargin.

     -
       In  left-to-right  and bottom-to-top order, glue the right (and top) cut-
       margin and stick the right (and upper) neighbouring page on top of that.

     -
       Turn the glued-together poster face bottom, and put adhesive tape on  the
       sheet edges (on the backside of the poster) for more strength.

     -
       Remove the remaining cutmargin around the poster.

DEVICE SETTINGS
     For postscript level-2 capable printers/plotters, which is about all modern
     postscript  devices  today,  poster will send device settings in its output
     file.  This consists of a `setpagedevice' call, setting:

     -
       the media size.
       This is required for all printers I know to get correct behaviour on dif-
       ferent media/picture sizes.

     -
       duplexing off.
       Some printers will otherwise perform  double-side  printing  by	default.
       Clearly that is not what you want to print a poster.

     -
       manual media feed.
       This  is  given	only when poster was executed with the `-f' command line
       option. This is a convenient feature if you want to  print  your  job  on
       different  media  than  normally installed in the paper tray, and you are
       submitting your job through a multi-user networking and spooling environ-
       ment.

     These settings cause proper device behaviour, without the need to	manually
     interact  with  the  printer  settings, and has been here locally tested to
     work on devices like the HP300XL and HP650C.

     The settings thus passed in the postscript file, will affect the device for
     this job only.

DSC CONFORMANCE
     Poster will generate its own DSC header and other DSC lines in  the  output
     file,  according  the  `Document Structuring Conventions - version 3.0', as
     written down in the `Postscript Language Reference Manual,  2nd  ed.'  from
     Adobe Systems Inc, Addison Wesley Publ comp., 1990.

     It will copy any `%%Document...' line from the input file DSC header to its
     own header output. This is used here in particular for required nonresident
     fonts.

     However  the copy(s) of the input file included in the output, are stripped
     from all lines starting  with  a  `%',  since  they  tend	to  disturb  our
     `ghostview' previewer and take useless space anyhow.

SEE ALSO
     ghostview(1)

CONTRIBUTED BY
     Jos van Eijndhoven (email: J.T.J.v.Eijndhoven@ele.tue.nl)
     Design Automation Section (http://www.es.ele.tue.nl)
     Dept. of Elec. Eng.
     Eindhoven Univ of Technology
     The Netherlands
     24 August, 1995

								       POSTER(1)

home | help