This document is a roadmap to the Ghostscript documentation. After looking through it, if you want to install Ghostscript and not only use it, we recommend you read How to install Ghostscript, and How to compile Ghostscript from source code (which is necessary before installing it on Unix and VMS systems).
What is Ghostscript?
There are various products in the Ghostscript family; this document describes what they are, and how they are related.
Ghostscript is an interpreter for PostScript® and Portable Document Format (PDF) files.
Ghostscript consists of a PostScript interpreter layer, and a graphics library. The graphics library is shared with all the other products in the Ghostscript family, so all of these technologies are sometimes referred to as Ghostscript, rather than the more correct GhostPDL.
Binaries for Ghostscript and (see below) GhostPDF (included in the Ghostscript binaries) for various systems can be downloaded from here. The source can be found in both the Ghostscript and GhostPDL downloads from the same site.
Prior to release 9.55.0 GhostPDF was an interpreter for the PDF page description language built on top of Ghostscript, and written in the PostScript programming language. From 9.55.0 onwards there is a new GhostPDF executable, separate from Ghostscript and written in C rather than PostScript.
This new interpreter has also been integrated into Ghostscript itself, in order to preserve the PDF functionality of that interpreter. For now, the old PostScript-based interpreter remains the default, but the new interpreter is built-in alongside it.
The intention is that the new interpreter will replace the old one, which will be withdrawn.
It is possible to control which interpreter is used with the NEWPDF command-line switch. When this is false (the current default) the old PostScript-based interpreter is used, when NEWPDF is true then the new C-based interpreter is used.
Historically, we’ve used GhostPDL as an umbrella term to encompass our entire line of products. We’ve now brought all these disparate products together into a single package, called, appropriately enough, GhostPDL.
When running on a printer (or server) GhostPDL now automatically detects the type of data being fed to it and processes it accordingly. The individual interpreters all plug into a top-level module that handles both automatic language detection and Printer Job Language (PJL) based configuration.
The exact set of interpreters present in an installation can be tuned by the integrator for their specific product/use cases.
In addition to our existing PDL modules (PS, PDF, PCL, PXL, and XPS) we have now added new modules to handle a range of common image formats. With these installed, GhostPDL will handle JPEGs (both JFIF and EXIF), PWGs, TIFFs, PNGs, JBIG2s, and JPEG2000s.
The source code for GhostPDL can be found here.
GhostPCL is an interpreter for PCL™ and PXL files. This consists of an PCL/PXL interpreter hooked up to the Ghostscript graphics library.
Binaries for GhostPCL for various systems can be downloaded from here. The source can be found in the GhostPCL/GhostPDL downloads from the same site.
GhostXPS is an interpreter for XPS (XML Paper Specfication) files. This consists of an XPS interpreter hooked up to the Ghostscript graphics library.
Binaries for GhostXPS for various systems can be downloaded from here. The source can be found in the GhostXPS/GhostPDL downloads from the same site.
URW Font Information
The set of truetype fonts in the urwfonts directory are necessary for the PCL/XL interpreter to function properly but they ARE NOT FREE SOFTWARE and are NOT distributed under the GNU GPL/AGPL. They can instead be redistributed under the AFPL license which bars commercial use.
If your copy of GhostPDL includes these fonts, you should have received a copy of the Aladdin Free Public License, usually in a file called COPYING.AFPL. If not, please contact Artifex Software, Inc. 1305 Grant Avenue - Suite 200, Novato, CA 94945 USA, or visit Artifex
Document roadmap by theme
What should I read if I’m a new user?
How to use Ghostscript. This includes both a quickstart introduction to the command line version and more extensive reference material.
detailed information about specific devices that Ghostscript can use for output.
more detailed information about how to use Ghostscript under Unix with
lpras a filter for printing.
for information about known problems or to report a new one, please visit bugs.ghostscript.com but remember that free versions of Ghostscript come with with NO WARRANTY and NO SUPPORT.
GPL and commercial Ghostscript
GPL Ghostscript, Artifex Ghostscript and AFPL Ghostscript are different releases.
additional information about GPL Ghostscript releases that is not relevant to commercial versions.
If you run into any questions, or if you are going to be using Ghostscript extensively, you should at least skim, and probably eventually read:
Before building Ghostscript
If you are going to compile Ghostscript from source, rather than just use an executable you got from somewhere, you may want to read:
What should I read if I’m not a new user?
If you have already used Ghostscript, when you receive a new release you should begin by reading this file, then:
News, for incompatible changes and new features in the current release.
What if I’m a developer?
If you are going to do any development on or with Ghostscript at all, you should at least look at:
the roadmap documentation for Ghostscript’s source files and architecture.
If you are going to write a new driver for Ghostscript, you should read:
If you are considering distributing GPL Ghostscript in conjunction with a commercial product, you should read the license carefully, and you should also read:
additional clarification of the circumstances under which Ghostscript can be distributed with a commercial product.
If you intend to use Ghostscript in the form of a dynamic link library (DLL) under OS/2 or Microsoft Windows or in the form of shared object under Linux, read:
documentation on Ghostscript Interpreter API.
If you want to use Ghostscript as part of another program, as a callable PostScript language interpreter, and not as a DLL or as a self-contained executable application, you should begin by reading:
the source file
imain.h, the documented API for Ghostscript not as a DLL.
or if you are going to use only the Ghostscript graphics library:
about the structure of the Ghostscript library and its interfaces.
What if I’m writing documentation?
If you are editing or adding to Ghostscript’s existing documentation you should contact us on our Discord channel or the gs-devel mailing list for guidance, links to those are on: www.ghostscript.com.
Presence on the World Wide Web
Ghostscript’s home page
Ghostscript has a home page on the World Wide Web with helpful information such as the FAQ (Frequently Asked Questions):
Adobe PostScript, Encapsulated PostScript, and PDF reference documentation
Adobe makes a wealth of technical documentation available over the Web, including the PostScript Language Reference Manual (Third Edition) ; the Encapsulated PostScript (EPS) Format Specification version 3, including Encapsulated PostScript Interchange (EPSI) format; the PDF Reference manuals. The Acrobat SDK contains pdfmark and Acrobat Distiller parameters documentation.
Other material on the WWW
Much other material about Ghostscript is available on the World Wide Web, both as web pages and as archived Usenet and mailing list discussions. Use the well-known search engines to find such material.
This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at https://www.artifex.com or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.