Provided by: poster_20050907-1.1_amd64 bug

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 program 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 desired 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  postscript  files  containing  a
       single  page  definition.   Proper  operation  is obtained 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 obtained from the PAPERCONF environment variable.  If it is not set, it  is  read  from
          the  file whose name is in the PAPERSIZE environment variable.  If that too is not set, the default is
          read from the file /etc/papersize.  See papersize(5) for a full  description  of  the  format  of  the
          config file.

       -p <box>
          Specify  the  poster  size.  See below for <box>.  Since poster will autonomously choose for rotation,
          always specify a `portrait' poster size (i.e. higher then wide).
          If you don't give the -s 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.

       -P <pagespec>
          Specify  which  pages of the poster to print. It consists of a comma-separated 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 bottom-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 understands the offset specification in the <box>.
       In general:
            <box> = [<multiplier>][<offset>]<unit>
       with multiplier and offset being specified optionally.
            <multiplier> = <number>*<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.
                poster -v -mLegal -p1x1m -w10% 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 carelessly chosen factor,
       can easily lead to hazy edges and interference patterns on the output.  The solution is to provide poster
       with  an  exact  scaling  factor  (with  the  -s  option),  chosen  as  an integer. If integer scaling is
       impractical 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 displays.  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  application  (or  printer  driver)  cannot  generate  real
       'encapsulated postscript'.

   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/translate 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' option with as argument
       the  papersize  on  which  the original document was formatted (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 bottom row, their left  and  bottom
         cutmargin.

       - In  left-to-right  and bottom-to-top order, glue the right (and top) cutmargin 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 different 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 environment.

       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), papersize(5)

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)