gs
GS(S)                      Ghostscript                      GS(S)



NAME
       gs  - Ghostscript (PostScript and PDF language interpreter
       and previewer)

SYNOPSIS
       gs [ options ] [ files ] ... (Unix, VMS)
       gswin32 [ options ] [ files ] ... (MS Windows)
       gswin32c [ options ] [ files ] ... (MS Windows)
       gs386 [ options ] [ files ] ... (DOS for PC)
       gsos2 [ options ] [ files ] ... (OS/2)

DESCRIPTION
       The gs (gswin32, gswin32c, gs386, gsos2)  command  invokes
       Ghostscript,    an    interpreter    of   Adobe   Systems'
       PostScript(t) and Portable  Document  Format  (PDF)  lan-
       guages.  gs reads "files" in sequence and executes them as
       Ghostscript programs.  After doing this, it reads  further
       input  from  the  standard input stream (normally the key-
       board), interpreting each  line  separately.   The  inter-
       preter quits gracefully when it encounters the "quit" com-
       mand (either in a file or from the keyboard),  at  end-of-
       file,  or at an interrupt signal (such as Control-C at the
       keyboard).

       The  interpreter  recognizes  several  switches  described
       below,  which  may appear anywhere in the command line and
       apply to all files thereafter.  Invoking Ghostscript  with
       the -h or -? switch produces a message which shows several
       useful switches, all the devices known to that executable,
       and  the  search path for fonts; on Unix it also shows the
       location of detailed documentation.

       Ghostscript may be built able to use many different output
       devices.   To  see  which devices your executable can use,
       run "gs -h".  Unless  you  specify  a  particular  device,
       Ghostscript  normally  opens  the  first  one of those and
       directs output to it, so if the first one in the  list  is
       the one you want to use, just issue the command

            gs myfile.ps

       You  can  also  check  the  set  of available devices from
       within Ghostscript: invoke Ghostscript and type

            devicenames ==

       but the first device on the resulting list may not be  the
       default  device  you  determine  with "gs -h".  To specify
       "AbcXyz" as the initial output device, include the switch

            -sDEVICE=AbcXyz

       For example, for output to an Epson printer you might  use
       the command

            gs -sDEVICE=epson myfile.ps

       The "-sDEVICE=" switch must precede the first mention of a
       file to print, and only the switch's  first  use  has  any
       effect.  Alternatively, in Ghostscript you can type

            (epson) selectdevice
            (myfile.ps) run

       All  output  then  goes  to  the  printer until you select
       another device with the "selectdevice"  procedure  in  the
       PostScript program stream, for example

            (vga) selectdevice
       or
            (x11) selectdevice

       Finally,  you can specify a default device in the environ-
       ment variable GS_DEVICE.   The  order  of  precedence  for
       these  alternatives  from  highest  to lowest (Ghostscript
       uses the device defined highest in the list) is:

            selectdevice
            (command line)
            GS_DEVICE
            (first device in build list)

       Some printers can print at different  resolutions  (densi-
       ties).   To  specify the resolution on such a printer, use
       the "-r" switch:

            gs -sDEVICE=<device> -r<xres>x<yres>

       For example, on a 9-pin Epson-compatible printer, you  get
       the lowest-density (fastest) mode with

            gs -sDEVICE=epson -r60x72

       and the highest-density (best output quality) mode with

            gs -sDEVICE=epson -r240x72.

       If  you select a printer as the output device, Ghostscript
       also allows you to choose where Ghostscript sends the out-
       put  --  on Unix systems, usually to a temporary file.  To
       send the output to a file "foo.xyz", use the switch

            -sOutputFile=foo.xyz

       You might want to print each page separately.  To do this,
       send  the output to a series of files "foo1.xyz, foo2.xyz,
       ..." using the "-sOutputFile=" switch with "%d" in a file-
       name template:

            -sOutputFile=foo%d.xyz

       Each  resulting  file receives one page of output, and the
       files are numbered in sequence.  "%d" is a  printf  format
       specification; you can also use a variant like "%02d".

       On  Unix  systems you can also send output to a pipe.  For
       example, to pipe output to the "lpr"  command  (which,  on
       many  Unix  systems,  directs  it  to  a printer), use the
       switch

            -sOutputFile=\|lpr

       You can also send output to  standard  output  for  piping
       with the switch

            -sOutputFile=-

       In  this  case you must also use the -q switch, to prevent
       Ghostscript from writing messages to standard output.

       To select a specific paper  size,  use  the  command  line
       switch

            -sPAPERSIZE=a_known_paper_size

       for instance

            -sPAPERSIZE=a4
       or
            -sPAPERSIZE=legal

       At  this  time, the known paper sizes, defined in the ini-
       tialization file "gs_statd.ps", are: tab(>); l l l l l.

       PAPERSIZE>X    inches>Y     inches>X     cm>Y     cm     _
       a0>33.0556>46.7778>83.9611>118.816
       a1>23.3889>33.0556>59.4078>83.9611
       a2>16.5278>23.3889>41.9806>59.4078
       a3>11.6944>16.5278>29.7039>41.9806
       a4>8.26389>11.6944>20.9903>29.7039
       a5>5.84722>8.26389>14.8519>20.9903
       a6>4.125>5.84722>10.4775>14.8519
       a7>2.91667>4.125>7.40833>10.4775
       a8>2.05556>2.91667>5.22111>7.40833
       a9>1.45833>2.05556>3.70417>5.22111
       a10>1.02778>1.45833>2.61056>3.70417
       b0>39.3889>55.6667>100.048>141.393
       b1>27.8333>39.3889>70.6967>100.048
       b2>19.6944>27.8333>50.0239>70.6967
       b3>13.9167>19.6944>35.3483>50.0239
       b4>9.84722>13.9167>25.0119>35.3483
       b5>6.95833>9.84722>17.6742>25.0119  archA>9>12>22.86>30.48
       archB>12>18>30.48>45.72            archC>18>24>45.72>60.96
       archD>24>36>60.96>91.44           archE>36>48>91.44>121.92
       flsa>8.5>13>21.59>33.02  flse>8.5>13>21.59>33.02  halflet-
       ter>5.5>8.5>13.97>21.59     note>7.5>10>19.05>25.4    let-
       ter>8.5>11>21.59>27.94            legal>8.5>14>21.59>35.56
       11x17>11>17>27.94>43.18 ledger>17>11>43.18>27.94

       Note that the B paper sizes are ISO sizes: for information
       about using JIS B sizes, see Use.htm.

       Ghostscript can do many things other than  print  or  view
       PostScript  and  PDF  files.   For example, if you want to
       know the bounding box  of  a  PostScript  (or  EPS)  file,
       Ghostscript  provides  a special "device" that just prints
       out this information:

            gs -sDEVICE=bbox myfile.ps

       For example, using one of the  example  files  distributed
       with Ghostscript,

            gs -sDEVICE=bbox golfer.ps

       prints out

            %%BoundingBox: 0 25 583 732
            %%HiResBoundingBox: 0.808497 25.009496 582.994503 731.809445

INITIALIZATION FILES
       When  looking  for the initialization files "gs_*.ps", the
       files related to fonts, or the file for the  "run"  opera-
       tor,  Ghostscript  first  tries  to open the file with the
       name as given, using the current working directory  if  no
       directory  is specified.  If this fails, and the file name
       doesn't  specify  an  explicit  directory  or  drive  (for
       instance,  doesn't  contain  "/" on Unix systems or "\" on
       DOS systems), Ghostscript tries directories in this order:

       1.  the  directories  specified  by the -I switches in the
           command line (see below), if any;

       2.  the directories specified by  the  GS_LIB  environment
           variable, if any;

       3.  the  directories specified by the GS_LIB_DEFAULT macro
           in the Ghostscript makefile when  the  executable  was
           built.   When  gs  is built on Unix, GS_LIB_DEFAULT is
           usually
           "/usr/local/share/ghostscript/#.##:/usr/local/share/ghostscript/fonts"
           where "#.##" represents the Ghostscript  version  num-
           ber.

       Each  of  these (GS_LIB_DEFAULT, GS_LIB, and -I parameter)
       may be either a single directory or a list of  directories
       separated by ":".

X RESOURCES
       Ghostscript  looks  for  the following resources under the
       program name "Ghostscript":

       borderWidth
              The border width in pixels (default = 1).

       borderColor
              The name of the border color (default = black).

       geometry
              The window size and placement, WxH+X+Y (default  is
              NULL).

       xResolution
              The  number  of  x pixels per inch (default is com-
              puted from WidthOfScreen and WidthMMOfScreen).

       yResolution
              The number of y pixels per inch  (default  is  com-
              puted from HeightOfScreen and HeightMMOfScreen).

       useBackingPixmap
              Determines  whether backing store is to be used for
              saving display window (default = true).

       See the  usage  document  for  a  more  complete  list  of
       resources.   To set these resources on Unix, put them in a
       file such as "~/.Xresources" in the following form:

            Ghostscript*geometry:     612x792-0+0
            Ghostscript*xResolution: 72
            Ghostscript*yResolution: 72

       Then merge these resources into the  X  server's  resource
       database:

            % xrdb -merge ~/.Xresources

SWITCHES
       -- filename arg1 ...
              Takes  the  next  argument as a file name as usual,
              but takes all remaining  arguments  (even  if  they
              have  the  syntactic  form of switches) and defines
              the name "ARGUMENTS" in  "userdict"  (not  "system-
              dict") as an array of those strings, before running
              the file.  When Ghostscript finishes executing  the
              file, it exits back to the shell.

       -Dname=token
       -dname=token
              Define  a name in "systemdict" with the given defi-
              nition.  The token must be exactly  one  token  (as
              defined by the "token" operator) and may contain no
              whitespace.

       -Dname
       -dname Define a name in "systemdict" with value=null.

       -Sname=string
       -sname=string
              Define a name in "systemdict" with a  given  string
              as value.  This is different from -d.  For example,
              -dname=35 is equivalent to the program fragment
                   /name 35 def
              whereas -sname=35 is equivalent to
                   /name (35) def

       -q     Quiet startup: suppress  normal  startup  messages,
              and also do the equivalent of -dQUIET.

       -gnumber1xnumber2
              Equivalent  to  -dDEVICEWIDTH=number1 and -dDEVICE-
              HEIGHT=number2.  This is for the benefit of devices
              (such as X11 windows) that require (or allow) width
              and height to be specified.

       -rnumber
       -rnumber1xnumber2
              Equivalent to -dDEVICEXRESOLUTION=number1 and -dDE-
              VICEYRESOLUTION=number2.   This  is for the benefit
              of devices such as printers that support multiple X
              and Y resolutions.  If only one number is given, it
              is used for both X and Y resolutions.

       -Idirectories
              Adds the designated list of directories at the head
              of the search path for library files.

       -      This  is  not  really  a  switch,  but indicates to
              Ghostscript that standard input is  coming  from  a
              file  or a pipe and not interactively from the com-
              mand line.  Ghostscript reads from  standard  input
              until it reaches end-of-file, executing it like any
              other file, and then continues with processing  the
              command  line.   When  the  command  line  has been
              entirely processed, Ghostscript exits  rather  than
              going into its interactive mode.

       Note  that  the  normal  initialization  file "gs_init.ps"
       makes "systemdict"  read-only,  so  the  values  of  names
       defined   with  -D,  -d,  -S,  or  -s  cannot  be  changed
       (although, of course, they can be  superseded  by  defini-
       tions in "userdict" or other dictionaries.)

SPECIAL NAMES
       -dDISKFONTS
              Causes  individual  character outlines to be loaded
              from the disk the first time they are  encountered.
              (Normally  Ghostscript loads all the character out-
              lines when it loads a font.)  This may allow  load-
              ing  more  fonts into RAM, at the expense of slower
              rendering.

       -dNOCACHE
              Disables character caching.  Useful only for debug-
              ging.

       -dNOBIND
              Disables  the  "bind"  operator.   Useful  only for
              debugging.

       -dNODISPLAY
              Suppresses the normal initialization of the  output
              device.  This may be useful when debugging.

       -dNOPAUSE
              Disables  the  prompt  and pause at the end of each
              page.  This may be desirable for applications where
              another program is driving Ghostscript.

       -dNOPLATFONTS
              Disables  the use of fonts supplied by the underly-
              ing platform (for instance X Windows).  This may be
              needed  if the platform fonts look undesirably dif-
              ferent from the scalable fonts.

       -dSAFER
              Disables the "deletefile" and  "renamefile"  opera-
              tors  and  the  ability  to  open files in any mode
              other than read-only.  This may  be  desirable  for
              spoolers  or  other  sensitive environments where a
              badly written or malicious PostScript program  must
              be prevented from changing important files.

       -dWRITESYSTEMDICT
              Leaves  "systemdict"  writable.   This is necessary
              when  running  special  utility  programs  such  as
              font2c  and  pcharstr,  which  must  bypass  normal
              PostScript access protection.

       -sDEVICE=device
              Selects an  alternate  initial  output  device,  as
              described above.

       -sOutputFile=filename
              Selects  an alternate output file (or pipe) for the
              initial output device, as described above.

FILES
       The locations of many Ghostscript run-time files are  com-
       piled into the executable when it is built.  On Unix these
       are typically based in /usr/local, but this may be differ-
       ent on your system.  Under DOS they are typically based in
       C:\GS, but may be elsewhere,  especially  if  you  install
       Ghostscript with GSview.  Run "gs -h" to find the location
       of Ghostscript documentation on your  system,  from  which
       you can get more details.

       /usr/local/share/ghostscript/#.##/*
              Startup  files,  utilities,  and basic font defini-
              tions

       /usr/local/share/ghostscript/fonts/*
              More font definitions

       /usr/local/share/ghostscript/#.##/examples/*
              Ghostscript demonstration files

       /usr/local/share/ghostscript/#.##/doc/*
              Diverse document files

ENVIRONMENT
       GS_OPTIONS
              String of options to be processed before  the  com-
              mand line options

       GS_DEVICE
              Used to specify an output device

       GS_FONTPATH
              Path names used to search for fonts

       GS_LIB Path names for initialization files and fonts

       TEMP   Where temporary files are made

SEE ALSO
       The various Ghostscript document files (above), especially
       Use.htm.

BUGS
       See the Usenet news group comp.lang.postscript.

VERSION
       This document was last  revised  for  Ghostscript  version
       6.53.

AUTHOR
       L.  Peter  Deutsch  <ghost@aladdin.com>  is  the principal
       author of Ghostscript.  Russell J. Lang  <rjl@aladdin.com>
       is   the  author  of  most  of  the  MS  Windows  code  in
       Ghostscript.



6.53                     13 February 2002                   GS(S)