Fact-checked by Grok 2 weeks ago

Ghostscript

Ghostscript is a high-performance interpreter and rendering engine for , PDF, and other page description languages (PDLs), designed to convert and process these files into raster, , and other output formats for , viewing, and . Originally developed by Dr. in 1988 as an open-source interpreter under the GNU General Public License, Ghostscript began as a part-time project and released its first version in 1988. In 1993, Artifex Software, Inc. was founded to manage its commercial licensing and ongoing development, which has continued actively for over 35 years, with the latest stable release being version 10.06.0 as of September 2025. Today, it supports a wide range of input formats including , PDF, PCL, and through related products like GhostPCL, GhostPDF, and GhostXPS, and outputs to formats such as , raster images, and . Key features include a robust graphics library, cross-platform compatibility on Windows, macOS, systems, , and embedded devices, as well as tools for high-quality rendering, , and font handling. Ghostscript is licensed dually under the open-source (AGPL) for non-commercial use and a from Artifex for applications, ensuring broad accessibility while supporting professional deployments. Widely adopted in workflows, Ghostscript powers printing systems like CUPS on , serves as a core component in PDF viewers and converters, and is integrated into numerous software tools for graphics and publishing industries. Its longevity and community contributions have made it a foundational in open-source software engineering and digital document handling.

Introduction

Overview

Ghostscript is a suite of software based on an interpreter for the language and PDF files, comprising a PostScript interpreter layer along with a library that enables the rasterization, , printing, and conversion of these page description languages. It processes vector-based formats to produce raster images, such as converting PostScript or PDF documents into bitmap outputs like or for applications requiring image generation from scalable . Among its primary uses, Ghostscript facilitates the conversion of files to PDF format through tools like ps2pdf, which invokes the interpreter with a specialized PDF-writing device to create portable documents from legacy print streams. It also serves as a backend engine for PDF viewers, printer drivers, and multifunction devices, handling rendering tasks in software like document management systems and cloud printing solutions. Ghostscript is cross-platform, implemented in C to run on Unix-like operating systems, Windows, macOS, VMS, and embedded systems, making it suitable for diverse environments from desktops to hardware integrations. As the core PostScript and PDF interpretation component of the broader GhostPDL project, it integrates alongside interpreters for other languages like PCL and XPS within a unified framework for page description language processing. Originally released in 1988 by developer L. Peter Deutsch, it is available under both open-source AGPL licensing and commercial options for enterprise use.

Licensing Model

Ghostscript employs a dual-licensing model that provides flexibility for both open-source and applications. The open-source distribution is governed by the GNU Affero General Public License version 3 (AGPLv3), adopted starting with version 9.07 released on February 14, 2013, which mandates that modifications must be disclosed to users, particularly in network or server-based deployments where the software interacts remotely. This license ensures that derivative works remain open, but it imposes strict requirements, making it incompatible with closed-source integrations without additional permissions. Artifex Software, founded in to manage commercial licensing of Ghostscript and the current owner since acquiring rights from Aladdin Enterprises, serves as the exclusive agent for commercial licenses. These commercial agreements allow users to incorporate Ghostscript into without AGPL obligations, such as sharing, and often include support, updates, and enhanced capabilities. The AGPLv3 is well-suited for collaborative open-source projects but can be restrictive for developers embedding Ghostscript in closed-source products or environments, potentially requiring a to avoid compliance issues. variants, like Ghostscript Enterprise, offer advanced features such as superior PDF algorithms for reducing file sizes while preserving , along with options not available in the open-source edition. In response to misuse in unauthorized commercial bundling, Artifex introduced restrictions in the AGPL version starting with release 10.01.0 on March 22, 2023, by disabling silent installation options in the Windows installers to promote awareness of licensing terms and encourage proper commercial licensing where needed. This change aims to protect the dual-licensing ecosystem while maintaining free access for compliant open-source uses.

Technical Foundations

Architecture and Components

Ghostscript employs a modular, layered architecture designed for interpreting page description languages and rendering graphics across diverse output devices. At its core are three primary components: the interpreter, implemented primarily in C with some code for high-level operations; the graphics library, a device-independent engine responsible for managing graphics state and performing 2D rendering operations such as vector-to-raster conversion; and output drivers that interface with specific devices like printers, displays, or file formats (e.g., or PDF). The is structured in four layers to ensure portability, extensibility, and . The substrate layer provides foundational services including , stream handling, and , all implemented in for cross-platform compatibility. Above it lies the layer, encompassing the graphics library and device drivers, which use functions to abstract output generation. The language interpreters layer includes the interpreter, which processes input code and invokes graphics operations, while the top layer originally handled PDF via a PostScript-based interpreter acting as a client to the PostScript engine. This design allows non-preemptive execution, multiple instance support, and late binding of configurations, facilitating integration into embedded systems or larger applications. A significant architectural evolution occurred with the introduction of a new C-based PDF interpreter in version 9.55.0, released in September 2021, aimed at enhancing , reducing usage, and improving by eliminating the vulnerabilities inherent in the prior implementation for PDF handling. This interpreter, now available as a standalone GhostPDF or integrated into Ghostscript, directly parses PDF structures and interfaces with the existing , replacing much of the legacy -dependent PDF processing while maintaining compatibility with features like the run operator. By version 9.56.0 in March 2022, it became the default, with the old interpreter retained as a fallback option via the -dNEWPDF=false flag until its removal in version 10.02.1 (November 2023). Within the broader GhostPDL framework, developed by Artifex Software, Ghostscript serves as the unified interpreter for , PDF, and select related formats such as PCL, leveraging the shared graphics library and driver infrastructure for consistent rendering across languages. GhostPDL packages these components into a single distribution, enabling automatic language detection and customizable builds for specific interpreters, which supports applications requiring multi-format processing without redundant code.

Supported Languages and Formats

Ghostscript primarily interprets language at Levels 1 through 3, including support for that enable structured document handling such as page ordering and bounding boxes. This compatibility ensures seamless processing of legacy and modern files generated by various applications. For PDF input, Ghostscript handles versions from 1.0 to 2.0, with full compatibility for standards. Extensions include support for (versions 1b, 2b, 3b) and PDF/X (versions 1a, 3, 4), achieved through specific device parameters like -dPDFA=3 and color profiles for compliance with archival and printing standards. It also accommodates PDF features such as interactive forms, annotations, and PDF 1.4 via alpha channels and DeviceN color spaces, though may be flattened to bitmaps during certain vector outputs to maintain compatibility. Additional input formats encompass PCL 5e, PCL 5c, PCL XL 3.0, , , HP RTL, and , allowing Ghostscript to process printer languages and XML-based page descriptions alongside and PDF. On the output side, Ghostscript generates raster formats including (with variants for 1- to 48-bit depths and alpha transparency), (color and grayscale), (supporting 1- to 64-bit, CMYK, spot colors, and compressions like LZW or ), , , and . Vector outputs include PDF (with preserved text, links, and fonts), (EPS), and PCL XL, while export is available via optional extensions or third-party builds. Device-specific outputs cover direct printer languages such as various DeskJet models and CUPS filters, enabling targeted rendering without intermediate files. Limitations include no native handling of PDF 3D content or advanced JavaScript execution, with interactive elements like certain forms often requiring external tools for full functionality.
CategoryInput FormatsOutput Formats
Page Description LanguagesPostScript (Levels 1-3, DSC), PDF (1.0-2.0, PDF/A, PDF/X)PDF, EPS, PostScript (Level 2)
Printer LanguagesPCL 5e/5c/XL 3.0, HP-GL/2, HP RTL, XPSPCL XL, HP DeskJet, CUPS
Raster ImagesN/A (inputs via interpretation)PNG, JPEG, TIFF, BMP, PCX, PSD
Vector ExtensionsN/ASVG (via extensions)

Core Features

Rendering and Conversion Tools

Ghostscript includes key utilities for rendering PostScript and PDF documents into various output formats, facilitating workflows in printing, archiving, and web publishing. The ps2pdf utility converts files to PDF, producing compact, self-contained documents that preserve , fonts, and layout fidelity while supporting embedding of subsets for reduced file size. Similarly, pdf2ps reverses this process by converting PDF to Level 2, enabling compatibility with legacy printers or further processing. The ps2image functionality, achieved through Ghostscript's output devices, renders or PDF to raster formats such as or , ideal for image extraction or screen display. Rendering modes in these tools emphasize high-quality output, with anti-aliased rendering enabled via the GraphicsAlphaBits parameter set to 4 for subsample anti-aliasing, which smooths jagged edges in curves and text without excessive blurring. Resolution control allows precise DPI specification, such as 72 dpi for web use or 600 dpi for high-resolution printing, ensuring scalability across applications. Multi-page handling supports imposition techniques like N-up layouts, where multiple input pages are arranged onto fewer output sheets for efficient booklet production or proofing. Advanced conversion features enhance flexibility and efficiency. PDF compression in ps2pdf includes both lossless methods for text and vectors, and lossy options for images via settings like PDFSETTINGS=screen, which apply compression to reduce file sizes by up to 90% in low-fidelity scenarios while maintaining readability. Color space adjustments are configurable through profiles and strategies such as ColorConversionStrategy=CMYK, enabling conversions between RGB, CMYK, and grayscale to match device requirements or standards like . is supported via non-interactive scripts that chain multiple conversions, processing entire directories of files sequentially for automated workflows. Performance optimizations in recent versions accelerate these operations on modern hardware. Multi-threading support, available since the 8.x series via the NumRenderingThreads parameter, allows parallel rendering of page bands on multi-core processors, improving throughput by distributing the workload across threads for and rendering tasks. These tools leverage Ghostscript's supported output formats for versatile applications and draw on its graphics library primitives for consistent, high-fidelity results.

Graphics Library Capabilities

The Ghostscript graphics library, commonly referred to as libgs, forms the foundational engine for device-independent rendering of PostScript and PDF content, offering developers a robust set of procedures to implement core operations. It supports path construction through sequences of line segments and Bezier curves, enabling the creation of complex vector shapes. Affine transformations, including , , , and , can be applied to the current to manipulate coordinate systems dynamically. Filling and stroking operations allow paths to be rendered as solid areas or outlines with customizable line caps, joins, and widths, while clipping paths define viewable regions for subsequent drawing commands. handling is facilitated through an that processes , including for masked images and color-sampled images, ensuring versatile integration into rendering pipelines. Color management within the graphics library adheres to ICC standards, providing comprehensive support for profiles that ensure consistent color reproduction across input, process, and output stages. Conversions between RGB and CMYK color spaces are handled efficiently using a module, often integrated with libraries like LittleCMS, which applies linked transforms for optimal performance. Spot colors are managed via named color profiles or DeviceN spaces, allowing precise control over specialized inks in printing workflows. Halftoning capabilities include stochastic screening through dispersed dot dithering, which generates high-fidelity tones without traditional screen angles, alongside and threshold array methods to minimize moiré patterns and artifacts in printed output. Advanced rendering features extend the library's utility for modern document formats, including transparency blending compliant with PDF 1.4 specifications, which supports alpha channel and group-based isolation for layered effects. Font rasterization is embedded in the , converting outline fonts to bitmaps at device resolution while preserving hinting and for clear text reproduction. Device-specific optimizations, such as the Well Tempered Screening algorithm, tailor halftoning for printers by adapting dot placement to reduce banding and improve smoothness in highlight and shadow areas. The library's embeddability makes it suitable for integration into custom applications, where it can drive rendering without the overhead of the full interpreter, supporting via an internal display list for efficient handling of high-resolution or multi-page documents. This design enables developers to build tailored pipelines for formats like PDF, , and , outputting to diverse devices or file types while leveraging the shared graphics core across Ghostscript family products.

Development History

Origins and Early Versions

Ghostscript was created in 1988 by as an open-source interpreter for the page description language, contributed to the GNU Project and released under the GNU General Public License, making it one of the early major software projects licensed this way. Initial development targeted Unix and platforms, with early ports to Atari ST systems. The inaugural public release, version 1.0, arrived on August 11, 1988, offering basic support for Level 1, including core operators for graphics and text rendering. Early versions emphasized rasterization capabilities, enabling Ghostscript's adoption in nascent workflows and as a foundation for printer drivers, such as those for dot-matrix printers and DeskJet inkjets introduced in version 2.0 (September 1990). Version 1.0 laid the groundwork with essential features like error handling, file s, and device management, while subsequent updates in 1989—such as version 1.3—added environmental variables via the getenv and improved real-number parsing for broader compatibility. During the , Ghostscript evolved to handle Level 2, incorporating advanced features like color operators (setcmykcolor), , and filter mechanisms for ; partial Level 2 support appeared in version 2.2 (June 1991) with save/restore execution stacks, culminating in full by version 2.9.8 (June 1994). PDF interpretation was briefly introduced in early releases, with version 4.0 (1996) marking a key expansion, though foundational encodings for PDF compatibility emerged in version 2.9.7 (June 1994). In 1996, L. Peter Deutsch's Aladdin Enterprises forked the project into AFPL Ghostscript, distributed under the Aladdin Free Public License to support proprietary commercial extensions while maintaining open-source parallels with the GNU variant, thus initiating dual development paths.

Mergers and Licensing Evolution

In 2006, the Aladdin Free Public License (AFPL) and (GPL) development branches of Ghostscript were unified with the release of version 8.54 on May 17, under the stewardship of Artifex Software, Inc., allowing the project to consolidate efforts and advance under a single open-source license framework. Subsequent major releases marked significant advancements in functionality. Version 9.00, released on September 14, 2010, introduced enhancements to PDF interpretation and handling, improving and for complex documents. Version 9.50, issued on October 15, 2019, was a maintenance release with updates to SAFER mode and other stability improvements. Starting with 9.55.0 in September 2021, Ghostscript introduced a new PDF interpreter written in C for enhanced security and , replacing the previous PostScript-based implementation and enabling standalone PDF processing. The 10.x series debuted with 10.00.0 on September 21, 2022, providing partial support for the PDF 2.0 standard, which expanded features like layered content and enhanced digital signatures. Licensing evolved to address emerging usage patterns. With version 9.07 on February 14, 2013, Ghostscript transitioned from the GPLv3 to the Affero General Public License version 3 (AGPLv3), specifically to close the "network use" loophole in the GPL and ensure availability for server-based applications, including services. In the , Artifex introduced Ghostscript Enterprise, a commercial variant offering enhancements such as extended office alongside the core open-source engine. Recent developments emphasize and . Version 10.06.0, released on September 9, 2025, focused on with fixes, updates, and incremental performance optimizations to refine rendering efficiency. Ghostscript has been integrated into the broader GhostPDL framework, which unifies interpreters for , PDF, PCL, and , facilitating comprehensive document processing workflows.

Security and Reliability

Historical Vulnerabilities

Ghostscript has faced numerous security vulnerabilities since its early development, particularly in handling and PDF inputs, leading to risks such as and escapes. In the late , buffer overflows in processing emerged as significant concerns; for instance, an in the bytecode interpreter (CVE-2009-3743) allowed attackers to execute arbitrary code by supplying a specially crafted font in a file, affecting versions up to 8.70 and patched in 8.71. Similarly, a stack-based buffer overflow in a parser function (CVE-2010-1869) enabled remote code execution through malformed input, affecting versions 8.64 and 8.70. These early flaws highlighted inadequate bounds checking in core interpretation routines, often exploitable via untrusted documents processed in printing workflows. As Ghostscript's PDF support matured, vulnerabilities shifted toward the PDF interpreter, with type confusion issues becoming prominent. A notable example is CVE-2018-16509, discovered in 2018, where incorrect restoration of privilege checking during /invalidaccess in the PDF interpreter allowed attackers to bypass the SAFER and execute arbitrary via a crafted PDF file, affecting versions before 9.24 and addressed in that update. This flaw was particularly dangerous in embedded contexts, such as CUPS printing systems that rely on Ghostscript for PDF rendering, potentially enabling remote exploitation during print job processing. In 2019, multiple high-severity issues surfaced in font processing within the PDF workflow; CVE-2019-3835 exposed the superexec in the internal , permitting remote execution through a specially crafted or PDF file even in SAFER mode, fixed in version 9.27. Another 2019 vulnerability, CVE-2019-14811, a flaw in the .pdf_hook_DSC_Creator procedure allowing bypass of -dSAFER restrictions, affected versions prior to 9.50 and was fixed in 9.50. These PDF-related flaws were frequently exploited in targeted attacks, leveraging Ghostscript's role in document conversion tools. Pre-2022 vulnerabilities increasingly targeted SAFER mode bypasses, undermining Ghostscript's built-in sandboxing for file operations. CVE-2017-8291, identified in 2017, allowed attackers to bypass SAFER restrictions and execute remote commands via type confusion with a crafted "/OutputFile (%pipe%" substring in input, affecting versions prior to 9.21. A more recent pre-2022 example, CVE-2021-3781 discovered in September 2021, enabled trivial escape by injecting a specially crafted command, granting arbitrary file access and command execution on systems in versions before 9.55.0, with the fix applied in that release; this issue notably impacted library integrations like CUPS, where untrusted print jobs could lead to system compromise. Such bypasses amplified risks in server-side applications processing user-supplied PDFs or files. Overall, Ghostscript has accumulated 149 (CVEs) tracked by security sources since 2000, with 92 predating 2022, many rated high severity (CVSS 7.0 or above) due to their potential for remote code execution or . These vulnerabilities, often stemming from the interpreter's complex handling of and PDF structures, have been commonly exploited in PDF-based attacks, including delivery via emailed documents or web-converted files, underscoring the need for timely updates in deployment environments.

Modern Safeguards and Updates

In 2022, Ghostscript introduced the PDFI interpreter, a complete rewrite in C that serves as the default PDF handler since version 9.56.1, replacing the prior PostScript-based implementation with a sandboxed design to minimize vulnerabilities from PostScript's dynamic execution model. This shift significantly reduces the attack surface for PDF processing by isolating interpretation logic and improving error handling. For example, it supports remediation of issues like the directory traversal in OCR-enabled PDF workflows, as seen in CVE-2024-29511, which was patched in version 10.03.1. Ghostscript's -dSAFER mode, activated by default since version 9.50, imposes strict controls on file I/O and system calls to prevent unauthorized during . Recent enhancements include improvements, such as dynamic allocation fixes for stack-based buffer overflows in PDF output functions; CVE-2025-59798, affecting pdf_write_cmap in devices/vector/gdevpdtw.c through version 10.05.1, was resolved in version 10.06.0 through bounded buffer management. Artifex Software issues regular patches to maintain , with 10.05.1 released on April 29, 2025, targeting flaws, including those impacting Windows deployments. As part of the broader GhostPDL framework, which unifies , PDF, PCL, and handling, Ghostscript benefits from coordinated updates that propagate fixes across interpreters. By mid-2025, 10.06.0 (September 9, 2025 release) incorporated zero-day mitigations building on prior patches, notably reinforcing defenses against various s. CVE-2025-27834, a via oversized Type 4 functions in PDF documents, was addressed in 10.05.0 through counter overflow prevention in pdf/pdf_func.c. Newer features, including OCR via integration since 9.53, prioritize risk-averse implementations to extend functionality without expanding the vulnerability profile.

Usage and Integrations

Command-Line Interfaces

Ghostscript provides a robust primarily through its main executable, gs, which allows users to process (PS), PDF, and other supported files for rendering, , and . This interface supports a wide array of options to control input handling, output devices, and processing behavior, making it suitable for batch operations in automated environments. On systems, invocation typically follows the form gs [options] [files], while Windows uses gswin32c.exe or gswin64c.exe for console operation. Key options are categorized by function. Device selection uses -sDEVICE=device to specify output formats, such as pdfwrite for PDF generation or png16m for 24-bit raster images, with -sOutputFile=file or the shorthand -o file directing the output path. and quality controls include -r<resolution> (e.g., -r[300](/page/300) for DPI output) and color-related flags like -dGraphicsAlphaBits=4 for or -dColorAccuracy=1 for balanced color rendering. is enforced via -dSAFER, which restricts access and is enabled by default since 9.50, though users can add permissions with --permit-file-read or similar. options, such as -dDEBUG for verbose or -Z? for , aid in . Common workflows leverage these options for standalone tasks. For converting a PostScript file to PDF, the command gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER input.ps -sOutputFile=output.pdf processes the input non-interactively while ensuring security. Rasterization to a bitmap, such as , uses gs -sDEVICE=png16m -r300 -dSAFER -o output.png input.pdf, producing a high-resolution image from PDF input. A convenience wrapper, ps2pdf, simplifies PS-to-PDF conversion: ps2pdf input.ps output.pdf. Scripting integrates Ghostscript into shell environments or custom PostScript execution. The -c flag allows inline PostScript commands, as in gs -sDEVICE=pdfwrite -c "(Hello) show showpage" -dSAFER -o hello.pdf, which executes the code and saves the result as PDF. For shell scripts, gs can process piped input, e.g., cat input.ps | gs -sDEVICE=pdfwrite -dSAFER -o output.pdf, enabling modular workflows in automation tools like or batch files.

Libraries and Embeddings

Ghostscript provides a robust interpreter library, distributed as libgs.so on Unix-like systems and gsdll32.dll (32-bit) or gsdll64.dll (64-bit) on Windows, enabling developers to embed its PostScript and PDF processing capabilities directly into C and C++ applications. This library exposes a comprehensive Application Programming Interface (API) defined in iapi.h, allowing for the creation and management of interpreter instances without relying on the standalone executable. Key API functions facilitate seamless integration, such as gsapi_new_instance(), which allocates a new Ghostscript instance handle, and gsapi_run_string(), which executes or PDF code passed as a string for rendering or conversion tasks. Initialization occurs via gsapi_init_with_args(), which configures the interpreter with command-line-like arguments to specify devices, input files, and output parameters, ensuring tailored behavior within the host application. For output customization, the API supports device callbacks, including the deprecated gsapi_set_display_callback() for rendering to memory buffers or windows, or the more modern gsapi_register_callout() for advanced device interactions like custom raster output. The library is widely embedded in third-party software for document processing. For instance, delegates PDF reading and writing operations to Ghostscript, leveraging it to interpret and convert PDF content into raster formats during image manipulations. Similarly, the Common UNIX Printing System (CUPS) integrates Ghostscript as a core filter to convert PDF jobs to or raster data for non-native printers, enabling broad compatibility in printing workflows. PDF viewers such as GSview, the official graphical frontend, embed the library to render and PDF files interactively, supporting features like zooming and page navigation through direct API calls. These integrations highlight Ghostscript's role in handling complex page description languages via custom device callbacks for output control. Cross-platform bindings extend accessibility beyond native C/C++. The Ghostscript.NET library for .NET provides a managed C# wrapper around the C , supporting simultaneous multiple instances and compatible with both 32-bit and 64-bit builds for applications like document viewers or converters. In , the ghostscript package uses ctypes to interface directly with the C , allowing scripts to initialize instances and run code for tasks such as PDF optimization or text extraction. Java developers utilize gsjava.jar, which wraps the for embedding in JVM-based applications, including sample viewers for demonstration. For commercial use, Artifex Software offers extended SDKs under proprietary licenses, providing enhanced , support, and modules for enterprise integrations like solutions in printing systems. Effective embedding requires attention to and error handling to prevent leaks or crashes. Developers should initialize with gsapi_init_with_args() to set memory limits and arguments upfront, monitoring return codes (zero for success, negative for errors) after each call like gsapi_run_string(). Cleanup involves calling gsapi_exit() to shut down the interpreter gracefully, followed by gsapi_delete_instance() to free the instance handle, ensuring proper deallocation in long-running applications. These practices, combined with stdio callbacks via gsapi_set_stdio(), maintain stability when processing large documents or integrating with graphics libraries for output.

Resources

Included Fonts

Ghostscript distributions include a set of 35 commercial-quality Type 1 fonts contributed by URW++ Design and Development Incorporated. These fonts are provided in both Type 1 and formats, enabling broad compatibility with various rendering environments. The core families consist of Roman (equivalent to Times Roman), (equivalent to Helvetica), and Mono (equivalent to Courier), along with fonts, forming a comprehensive base set for rendering. These fonts originate from URW++'s metric-compatible recreations of Adobe's standard "base 35" fonts, which are essential for language compliance. For instance, Nimbus Roman closely approximates the design and metrics of Times Roman, ensuring seamless substitution in documents. Released under the GNU Affero General Public License (AGPL), these fonts are freely available for open-source use and are automatically bundled with every Ghostscript . In practice, these included fonts support font embedding directly into PDF outputs generated by Ghostscript, preserving typographic fidelity across viewers. They also facilitate automatic substitution for missing through Ghostscript's Fontmap configuration, which maps standard font names to the URW++ equivalents. This integration enhances portability and reduces dependency on proprietary font licenses in workflows. For international support, the URW++ font set in Ghostscript includes variants with extended glyph coverage for Cyrillic and Greek scripts, incorporated as part of the 35-font collection. These extensions, added in recent versions, enable proper rendering of multilingual content without requiring external font additions.

Documentation and Community

Ghostscript's official documentation is hosted on Read the Docs, providing comprehensive resources for users and developers, including the Ghostscript Readme, which offers an introduction to the software's features and usage. The Language Reference serves as a detailed manual for the PostScript language implementation, covering syntax, operators, and interpreter behavior. Release notes for each version, such as 10.06.0, detail fixes, enhancements, and changes, accessible via the official website. Development and maintenance of Ghostscript are led by Artifex Software, with the source code available in a public repository at git.ghostscript.com/ghostpdl.git, mirrored on for broader accessibility. Bug reports and issues are primarily handled through the dedicated Ghostscript bug tracker at bugs.ghostscript.com, supplemented by community feedback channels. The Ghostscript community contributes through mailing lists like gs-devel for development discussions and bug triage, as well as forums for user support. Integrations in projects such as rely on community testing and contributions to ensure compatibility. Annual releases, like version 10.06.0 in September 2025, incorporate community-reported improvements and undergo rigorous testing. Additional resources include sample files and scripts distributed with the source code for testing PostScript and PDF processing, along with build guides that outline compilation steps across platforms. Third-party extensions, such as MuPDF developed by Artifex, provide lightweight viewing and rendering options complementary to Ghostscript's full interpreter capabilities.

References

  1. [1]
    About Ghostscript
    Ghostscript is the #1 PDL conversion and interpreter tool available, offering native rendering of PDF, PostScript, PCL, XPS, raster and vector files, ...
  2. [2]
    GNU Ghostscript - GNU Project - Free Software Foundation
    Introduction to GNU Ghostscript. Ghostscript is the name of a set of software that provides: An interpreter for the PostScript language and the PDF file ...
  3. [3]
    Ghostscript at 35: A Testament to the Power of Open Source | Artifex
    Aug 10, 2023 · Before diving into Ghostscript, it's important to learn a little about its creator, Dr. L. Peter Deutsch. With a Ph.D. in Computer Science from ...Missing: original | Show results with:original
  4. [4]
    FAQ - Ghostscript
    Ghostscript is a high-performance PostScript and PDF interpreter and rendering engine with the most comprehensive set of page description languages (PDL's) ...
  5. [5]
    Ghostscript Introduction — Ghostscript 10.07.0 documentation
    Ghostscript Enterprise is a commercial version of GhostPDL which can also read and process a range of common office documents, including Word , PowerPoint and ...
  6. [6]
  7. [7]
  8. [8]
    Ghostscript
    Ghostscript offers a suite of tools for printing, conversion, and workflow automation. Explore our products built for speed, flexibility, and seamless document ...Releases · Documentation · About · Resources
  9. [9]
    This document describes how to use the command line Ghostscript ...
    Ghostscript is capable of interpreting PostScript, encapsulated PostScript (EPS), DOS EPS (EPSF), and Adobe Portable Document Format (PDF). The interpreter ...
  10. [10]
    ps2pdf: PostScript-to-PDF converter - MIT
    ps2pdf is implemented as a very small command script (batch file) that invokes Ghostscript, selecting a special "output device" called pdfwrite. In order to ...
  11. [11]
    The GhostPDL Interpreter Framework - Ghostscript - Read the Docs
    GhostPDL is a framework into which multiple interpreters can be fitted, together with a set of interpreters for different input “languages”.
  12. [12]
    Ghostscript Remote Code Execution Vulnerability - Kroll
    Jul 11, 2023 · Ghostscript Usage. Ghostscript was first released in 1988 and has been part of many distributions default installs. t is rarely used directly ...
  13. [13]
    Releases - Ghostscript
    Ghostscript is available under both an Open Source AGPL license and Commercial license. Please visit artifex.com/licensing/ to understand the differences.
  14. [14]
    Ghostscript
    - **License Change**: Version 9.07 (released 2013-03-06) changed the license to GNU Affero General Public License (AGPL) for most code, with some exceptions under different licenses.
  15. [15]
    gnu affero general public license - Artifex Software
    Nov 19, 2007 · Artifex has different licensing approaches for our different products. Click here to find more information on the different licensing ...
  16. [16]
    Licensing - Artifex Software
    Most of our products are dual-licensed under open source with the GNU AGPLv3 license (the “AGPL” referenced on this page) or with commercial license agreements.
  17. [17]
    None
    Nothing is retrieved...<|control11|><|separator|>
  18. [18]
    Information for Ghostscript Developers - Read the Docs
    This document provides a wealth of information about Ghostscript's internals, primarily for developers actively working on Ghostscript.
  19. [19]
    Ghostscript 9.55.0 Release Notice - PDF Association
    Sep 30, 2021 · This latest Ghostscript release includes the new PDF interpreter, implemented in C (rather than PostScript). The work is now feature complete.Missing: based | Show results with:based
  20. [20]
    Changes to the PDF Interpreter - Artifex Software
    Dec 15, 2021 · We are happy to announce the new PDF Interpreter code is feature complete and is now enabled by default in Ghostscript 9.56.0.
  21. [21]
    Ghostscript and the PostScript Language - Read the Docs
    Ghostscript provides a set of operators for implementing the transparency and compositing facilities of PDF 1.4. These are defined only if the transpar option ...
  22. [22]
    Interpreters - Ghostscript
    The Ghostscript family of interpreters offers native rendering of all major page description languages. In addition to rendering to raster, Ghostscript ...
  23. [23]
    Ghostscript Release Dates — Ghostscript 10.07.0 documentation
    Version 10.02.0 (2023-09-12). Version 10.01.2 (2023-06-21). Version 10.01.1 (2023-03-27). Version 10.01.0 (2023-03-22). Version 10.00.0 (2022-09-21). Version 9 .
  24. [24]
    High Level Devices — Ghostscript 10.07.0 documentation
    Ghostscript supports creation of PDF/X-1 and PDF/X-3 formats, other ... PDF Optimization and Compression . The are techniques to compress & optmize ...
  25. [25]
    Details of Ghostscript Output Devices - Read the Docs
    Ghostscript provides a variety of devices for PNG output varying by bit depth. For normal use we recommend png16m for 24-bit RGB color, or pnggray for grayscale ...
  26. [26]
  27. [27]
    Ghostscript Color Management - Read the Docs
    By default, Ghostscript will map DeviceGray color spaces to pure K when the output device is CMYK based. The gray_to_k.icc profile in ./profiles is used to ...
  28. [28]
    The Ghostscript Library — Ghostscript 10.07.0 documentation
    This document describes the Ghostscript library, a set of procedures to implement the graphics and filtering capabilities that are primitive operations in the ...Missing: affine | Show results with:affine
  29. [29]
    Color Management - Ghostscript
    Our Color Management technology supports ICC standards ... Allows for spot color profiles as well as the traditional Gray, RGB and CMYK profiles.Missing: halftoning stochastic screening
  30. [30]
    Screening - Ghostscript
    Artifex offers three high-performance screening technologies: Even Toned Screening, Error Diffusion Screening and Threshold Array Screening.
  31. [31]
  32. [32]
    Graphics Library - Ghostscript
    Ghostscript solves complex imaging problems through its ability to convert amongst different PDL languages, (XPS, PostScript, PDF, and/or PCL). The library can ...
  33. [33]
    History of Ghostscript versions 1.n
    ### Summary of Ghostscript Versions 1.x
  34. [34]
    History of Ghostscript versions 2.n - MIT
    For other information, see the Ghostscript overview. Version 2.9.10-beta (7/28/94). This is the last 2.9 beta, since 3.0 will be released on July 31.
  35. [35]
    Background information for new users of Ghostscript - MIT
    How is Ghostscript licensed? Where can I find it? AFPL Ghostscript (formerly Aladdin Ghostscript); GNU Ghostscript; Commercial versions. Libraries obtained from ...<|separator|>
  36. [36]
    AFPL Ghostscript 8.54 released -- and 8.54 is now GPL'd as well!
    The leading edge of Ghostscript development is now under GPL license, as is the latest release, Ghostscript 8.54. By switching to the GPL, we're ...Missing: unification Artifex
  37. [37]
    Re: Ghostscript licensing changed to AGPL - Debian Mailing Lists
    May 6, 2014 · ... Ghostscript have changed its license from GPL-3+ to AGPL-3+ since > version 9.07. > > Ghostscript includes a library - libgs9 - licensed as ...Missing: 2013 | Show results with:2013
  38. [38]
    Releases - Ghostscript
    Latest Release. The latest release is Ghostscript 10.06.0 (2025-09-09). For a full list of fixes and enhancements, please see the release notes.
  39. [39]
  40. [40]
    CVE-2018-16509 - NVD
    Sep 5, 2018 · An issue was discovered in Artifex Ghostscript before 9.24. Incorrect restoration of privilege checking during handling of /invalidaccess exceptions could be ...
  41. [41]
    CVE-2019-3835 Detail - NVD
    Mar 25, 2019 · Description. It was found that the superexec operator was available in the internal dictionary in ghostscript before 9.27.
  42. [42]
  43. [43]
    CVE-2021-3781 Detail - NVD
    Feb 16, 2022 · A trivial sandbox (enabled with the `-dSAFER` option) escape flaw was found in the ghostscript interpreter by injecting a specially crafted pipe command.
  44. [44]
    Information on source package ghostscript - Debian Security Tracker
    CVE-2016-7978, Use-after-free vulnerability in Ghostscript 9.20 might allow remote at ... CVE-2016-7977, Ghostscript before 9.21 might allow remote attackers ...Missing: historical list<|control11|><|separator|>
  45. [45]
    PDFI - Ghostscript
    Mar 4, 2022 · The new implementation delivers a standalone PDF interpreter that is faster and more secure than its predecessor, written in PostScript.Missing: formats | Show results with:formats
  46. [46]
  47. [47]
    CVE-2025-59798 Detail - NVD
    Sep 22, 2025 · Description. Artifex Ghostscript through 10.05.1 has a stack-based buffer overflow in pdf_write_cmap in devices/vector/gdevpdtw.c.
  48. [48]
    News — Ghostscript 10.05.1 documentation
    Apr 29, 2025 · Recent Changes in Ghostscript Version 10.05.1 (2025-04-29) Highlights in this release include: The 10.05.1 patch release addresses.
  49. [49]
    CVE-2025-27834 Detail - NVD
    Mar 25, 2025 · An issue was discovered in Artifex Ghostscript before 10.05.0. A buffer overflow occurs via an oversized Type 4 function in a PDF document to pdf/pdf_func.c.Missing: early PostScript
  50. [50]
    A Conversation With the Creator of pdf2docx, Yun Jian
    Jan 16, 2024 · There are also data security issues with online document conversion services that charge per conversion. So I suspect many users find pdf2docx ...<|separator|>
  51. [51]
    API — Ghostscript 10.07.0 documentation
    This document describes the Application Programming Interface (API) for the Ghostscript interpreter library.Missing: embedding | Show results with:embedding
  52. [52]
  53. [53]
    Image Formats - ImageMagick
    Requires Ghostscript to read. By default, ImageMagick sets the page size to the MediaBox. Some PDF files, however, have a CropBox or TrimBox that is smaller ...
  54. [54]
    CUPS - ArchWiki
    Oct 21, 2025 · Non-PDF printers require ghostscript to be installed. For PostScript printers, gsfonts may also be required. Foomatic. The Linux Foundation's ...
  55. [55]
    ArtifexSoftware/Ghostscript.NET - GitHub
    ... AGPL, please contact Artifex for more information regarding a commercial license. Artifex is the exclusive commercial licensing agent for Ghostscript. About.<|control11|><|separator|>
  56. [56]
    ghostscript - PyPI
    Ghostscript is a well known interpreter for the PostScript language and for PDF. This package implements a interface to the Ghostscript C-API using ctypes.
  57. [57]
    Java — Ghostscript 10.07.0 documentation
    gsjava.jar is the Java library which contains classes and interfaces which enable API calls required to use Ghostscript.Missing: .net gsmodule commercial
  58. [58]
    Products - Artifex Software
    Ghostscript Enterprise. Commercial version of GhostPDL which can also read and process a range of common office documents, including Word, PowerPoint and Excel.Missing: 2020 | Show results with:2020
  59. [59]
  60. [60]
    Fonts and Font Facilities Supplied with Ghostscript - Read the Docs
    Ghostscript can use any Type 0, 1, 3, 4, or 42 font acceptable to other PostScript language interpreters or to ATM, including MultiMaster fonts.
  61. [61]
    Install urw-core35-fonts on macOS with MacPorts
    Aug 4, 2017 · Recent Ghostscript versions come with a new set of URW fonts that have additional support for the Greek and Cyrillic scripts (t…
  62. [62]
    Welcome to Ghostscript — Ghostscript 10.07.0 documentation
    Ghostscript is an interpreter for the PostScript® language and PDF files. It is available under either the GNU GPL Affero license or licensed for commercial ...
  63. [63]
    ArtifexSoftware/ghostpdl: This is a mirror: the canonical ... - GitHub
    GPL Ghostscript is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free ...<|control11|><|separator|>
  64. [64]
    Ghostscript bugs
    No information is available for this page. · Learn why
  65. [65]
    The TeX Live Guide—2025 - TeX Users Group
    6.3 Using external Perl, Tcl/Tk and Ghostscript installations. Normally, TeX Live will use its built-in Perl, Tcl/Tk and Ghostscript also for contributed ...
  66. [66]
    How to Build Ghostscript from Source Code - Read the Docs
    This document describes how to build a Ghostscript executable from source code. There are four major steps to building Ghostscript.
  67. [67]
    Choosing Between Ghostscript and MuPDF - Artifex Software
    Dec 15, 2020 · Both Ghostscript and MuPDF interpret pages using a single thread, but both can use multiple threads to actually render the page content. Both ...<|control11|><|separator|>