Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GS(1)				  Ghostscript				 GS(1)

       gs  -  Ghostscript  (PostScript	and  PDF language interpreter and pre-

       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 For-
       mat (PDF) languages.  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 keyboard), interpreting  each  line
       separately and output to	an output device (may be a file	or an X11 win-
       dow preview, see	below).	 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

       The  interpreter	 recognizes  many  option  switches, some of which are
       described below.	Please see the usage documentation for complete	infor-
       mation.	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.

       If  built  with	X11 support, often the default device is an X11	window
       (previewer), else ghostscript will typically use	the  bbox  device  and
       print on	stdout the dimension of	the postscript file.

       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


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

       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" 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 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 "-sOut-
       putFile=" switch	with "%d" in a filename	template:

       Each resulting file receives one	page of	output,	and the	files are num-
       bered 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 sys-
       tems, directs it	to a printer), use the option


       Note that the '%' characters need to be doubled on MS Windows 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 information.

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

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

       -dname 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 directory for
	      library files.  By default, Ghostscript no longer	looks  in  the
	      current  directory, unless, of course, the first explicitly sup-
	      plied 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 -dDEVICEHEIGHT=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 -dDEVICEYRESOLU-
	      TION=number2.  This is for the benefit of	devices	such as	print-
	      ers that support multiple	X and Y	resolutions.  If only one num-
	      ber 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 or a	pipe and not  interac-
	      tively  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 "system-
       dict" 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 defi-
       nitions in "userdict" or	other dictionaries.)

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

	      Disables character caching.  Useful only for debugging.

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

	      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

	      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.

	      Restricts	 file operations the job can perform.  Strongly	recom-
	      mended for spoolers, conversion scripts or other sensitive envi-
	      ronments	where  a badly written or malicious PostScript program
	      code must	be prevented from changing important files.

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

	      Selects an alternate initial output device, as described	above.

	      Selects  an alternate output file	(or pipe) for the initial out-
	      put device, as described above.

       The -dSAFER option disables the "deletefile" and	"renamefile" operators
       and  prohibits opening piped commands ("%pipe%cmd"). Only "%stdout" and
       "%stderr" can be	opened for writing.  It	 also  disables	 reading  from
       files, except for "%stdin", files given as a command line argument, and
       files contained in paths	given by LIBPATH and FONTPATH or specified  by
       the system params /FontResourceDir and /GenericResourceDir.

       This mode also sets the .LockSafetyParams parameter of the initial out-
       put device to protect against programs that attempt to write  to	 files
       using  the  OutputFile  device  parameter.  Since the device parameters
       specified on the	command	line, including	OutputFile, are	set  prior  to
       SAFER  mode,  use  of  "-sOutputFile=..."  on the command line is unre-

       SAFER mode prevents changing the	/GenericResourceDir, /FontResourceDir,
       /SystemParamsPassword, and /StartJobPassword.

       While SAFER mode	is not the default, it is the default for many wrapper
       scripts such as ps2pdf and may be the default in	a  subsequent  release
       of  Ghostscript.	 Thus when running programs that need to open files or
       set restricted parameters you should pass the  -dNOSAFER	 command  line
       option or its synonym -dDELAYSAFER.

       When running with -dNOSAFER it is possible to perform a "save" followed
       by ".setsafe", execute a	file or	procedure in SAFER mode, and then  use
       "restore"  to  return  to  NOSAFER  mode.  In order to prevent the save
       object from being restored  by  the  foreign  file  or  procedure,  the
       ".runandhide"  operator should be used to hide the save object from the
       restricted procedure.

       The locations of	many Ghostscript run-time files	are compiled 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

	      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	 command  line
	   (see	below),	if any;

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

       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
	   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 separated by	":".

	      String  of  options  to  be  processed  before  the command line

	      Used to specify an output	device

	      Path names used to search	for fonts

       GS_LIB 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 "Ghostscript":

	      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 NULL).

	      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 saving dis-
	      play 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

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

       See   and	  the	Usenet	 news	 group

       This document was last revised for Ghostscript version 9.06.

       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.

9.06				 8 August 2012				 GS(1)


Want to link to this manual page? Use this URL:

home | help