man pages section 1: User Commands

Exit Print View

Updated: July 2014

gs (1)


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


gs [ options ] [ files ] ... (Unix, VMS)
gswin32c [ options ] [ files ] ... (MS Windows)
gswin32 [ options ] [ files ] ... (MS Windows 3.1)
gsos2 [ options ] [ files ] ... (OS/2)


Ghostscript                                                 GS(1)

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

     gs [ options ] [ files ] ... (Unix, VMS)
     gswin32c [ options ] [ files ] ... (MS Windows)
     gswin32 [ options ] [ files ] ... (MS Windows 3.1)
     gsos2 [ options ] [ files ] ... (OS/2)

     The  gs   (gswin32c,   gswin32,   gsos2)   command   invokes
     Ghostscript, an interpreter of Adobe Systems' PostScript(tm)
     and Portable Document  Format  (PDF)  languages.   gs  reads
     "files"  in  sequence  and executes them as Ghostscript pro-
     grams. After doing this, it reads  further  input  from  the
     standard  input stream (normally the keyboard), interpreting
     each line separately. The interpreter exits gracefully  when
     it  encounters  the "quit" command (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  many  option switches, some of
     which are described below. Please see the  usage  documenta-
     tion  for complete information. Switches 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  to  use  many  different  output
     devices.  To see which devices your executable includes, 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


     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


9.00              Last change: 14 September 2010                1

Ghostscript                                                 GS(1)

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

          gs -sDEVICE=epson

     The  "-sDEVICE="  switch must precede the first mention of a
     file to print, and only  the  switch's  first  use  has  any

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

     Some devices can support different resolutions  (densities).
     To  specify  the  resolution on such a printer, use the "-r"

          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 output
     --  on  Unix  systems, usually to a temporary file.  To send
     the output to a file "", use the switch

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

     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 and MS Windows 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 option

9.00              Last change: 14 September 2010                2

Ghostscript                                                 GS(1)


     Note that the '%' characters need to be doubled on  MS  Win-
     dows to avoid mangling by the command interpreter.

     You can also send output to standard output:


     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


     for instance


     Most  ISO  and  US paper sizes are recognized. See the usage
     documentation for a full list, or  the  definitions  in  the
     initialization file "".

     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 infor-

     For example, using one of the example files distributed with

          gs -sDEVICE=bbox

     prints out

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

     -- 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 "ARGU-
          MENTS"  in "userdict" (not "systemdict") as an array of
          those  strings,  before   running   the   file.    When
          Ghostscript  finishes executing the file, it exits back

9.00              Last change: 14 September 2010                3

Ghostscript                                                 GS(1)

          to the shell.

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

          Define a name in "systemdict" with value=null.

          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

     -P   Makes  Ghostscript  to look first in the current direc-
          tory for library files.   By  default,  Ghostscript  no
          longer  looks  in  the  current  directory,  unless, of
          course, the first explicitly supplied directory is  "."
          in  -I.   See  also  the  INITIALIZATION  FILES section
          below, and bundled Use.htm for detailed  discussion  on
          search paths and how Ghostcript finds files.

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

          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.

          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.

          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

9.00              Last change: 14 September 2010                4

Ghostscript                                                 GS(1)

          or a pipe and not interactively from the command  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 "" 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 definitions in "userdict" or other

          Causes  individual character outlines to be loaded from
          the disk the first time they  are  encountered.   (Nor-
          mally Ghostscript loads all the character outlines when
          it loads a font.)  This may allow  loading  more  fonts
          into RAM, at the expense of slower rendering.

          Disables character caching.  Useful only for debugging.

          Disables the "bind" operator.  Useful only  for  debug-

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

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

          Disables the use of fonts supplied  by  the  underlying
          platform  (for  instance X Windows). This may be needed
          if the platform fonts look undesirably  different  from
          the scalable fonts.

          Disables  the  "deletefile"  and "renamefile" operators
          and the ability to open files in any  mode  other  than
          read-only.   This  strongly  recommended  for spoolers,
          conversion  scripts  or  other  sensitive  environments
          where  a  badly written or malicious PostScript program
          code must be prevented from changing important files.


9.00              Last change: 14 September 2010                5

Ghostscript                                                 GS(1)

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

          Selects   an   alternate   initial  output  device,  as
          described above.

          Selects an alternate output file (or pipe) for the ini-
          tial output device, as described above.

     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 different
     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.

          Startup files, utilities, and basic font definitions

          More font definitions

          Ghostscript demonstration files

          Diverse document files

     When looking for the  initialization  files  "gs_*.ps",  the
     files  related to fonts, or the file for the "run" operator,
     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  MS  Windows
     systems), Ghostscript tries directories in this order:

     1.  the directories specified by the -I switches in the com-
         mand 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

9.00              Last change: 14 September 2010                6

Ghostscript                                                 GS(1)

         the Ghostscript makefile when the executable was  built.
         When  gs  is  built  on  Unix, GS_LIB_DEFAULT is usually
         where  "#.##" represents the Ghostscript version number.

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

          String of options to be processed  before  the  command
          line options

          Used to specify an output device

          Path names used to search for fonts

          Path names for initialization files and fonts

     TEMP Where temporary files are made

     Ghostscript,  or more properly the X11 display device, looks
     for  the  following  resources  under   the   program   name

          The border width in pixels (default = 1).

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

          The  window  size  and  placement,  WxH+X+Y (default is

          The number of x pixels per inch  (default  is  computed
          from WidthOfScreen and WidthMMOfScreen).

          The  number  of  y pixels per inch (default is computed
          from HeightOfScreen and HeightMMOfScreen).

          Determines whether backing store is to be used for sav-
          ing display window (default = true).

9.00              Last change: 14 September 2010                7

Ghostscript                                                 GS(1)

     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

          % xrdb -merge ~/.Xresources

     See  attributes(5)  for  descriptions   of   the   following

     |Availability   | print/filter/ghostscript |
     |Stability      | Volatile                 |
     The  various  Ghostscript document files (above), especially

     See and the Usenet  news  group

     This document was last revised for Ghostscript version 9.00.

     Artifex  Software,  Inc.  are  the  primary  maintainers  of
     Ghostscript.  Russell J. Lang, gsview at, is
     the author of most of the MS Windows code in Ghostscript.

     This  software  was   built   from   source   available   at    The  original
     community       source       was       downloaded       from

     Further  information about this software can be found on the
     open source community website at

9.00              Last change: 14 September 2010                8