Ghostscript PDF Creator & Producer
Understanding PDF metadata that shows Ghostscript as the Creator or Producer — learn how Ghostscript interprets PostScript and creates PDF files using the pdfwrite device.
📄 About This PDF Metadata
When you examine a PDF file's properties and see GPL Ghostscript or Ghostscript followed by a version number as the Producer, it indicates that the document was created or converted using Ghostscript — typically through PostScript to PDF conversion using tools like ps2pdf.
Sample PDF Metadata from Ghostscript:
Title: Technical Report
Author: John Smith
Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software
Producer: GPL Ghostscript 10.02.1
Creation Date: 2025-01-27 10:30:00
PDF Version: 1.5
Ghostscript is commonly used as a backend for converting PostScript files (from LaTeX, DTP software, or print drivers) into PDF format. The Creator field typically shows the application that generated the original PostScript (like dvips for LaTeX), while the Producer field shows GPL Ghostscript [version].
PDF Creator
Shows the application that generated the original PostScript file (e.g., dvips, PScript5.dll, or another print driver).
PDF Producer
Shows GPL Ghostscript [version] — indicating the PDF was created using Ghostscript's pdfwrite output device.
👻 What is Ghostscript?
Ghostscript is a suite of software based on an interpreter for Adobe's PostScript and PDF page description languages. Originally created by Dr. L. Peter Deutsch for the GNU Project in 1988, it has been under active development for over 35 years. Ghostscript is now maintained by Artifex Software and is one of the most widely used open-source PDF tools.
Project Information
| First Release: | August 11, 1988 (v1.0) |
| Original Author: | L. Peter Deutsch |
| Current Developer: | Artifex Software |
| License: | AGPL-3.0 / Commercial |
| Website: | ghostscript.com |
Technical Details
| Written in: | C |
| Platforms: | Windows, macOS, Linux, Unix |
| Latest Version: | 10.x series |
| Formats: | PS, PDF, EPS, PCL, XPS |
| Part of: | GhostPDL family |
Key Capabilities:
PostScript Interpreter
Full PostScript Level 3 language support
PDF Processing
Read, write, and convert PDF 2.0 files
RIP Engine
Rasterize to PNG, TIFF, JPEG, and more
💡 Ghostscript in CUPS
Ghostscript is a core component of CUPS (Common Unix Printing System), which powers printing on virtually every Linux distribution and macOS. This makes Ghostscript one of the most widely deployed open-source software packages in the world.
⚙️ How Ghostscript Creates PDFs
Ghostscript creates PDF files using its pdfwrite output device, which converts PostScript, EPS, or existing PDF files into new PDF documents. The most common way to create PDFs is through the ps2pdf utility script.
Common Conversion Workflows:
PostScript to PDF
- ps2pdf: General PostScript to PDF
- LaTeX → dvips → ps2pdf: Academic documents
- Print to File → ps2pdf: From any application
- EPS → PDF: Vector graphics conversion
PDF Processing
- PDF optimization: Reduce file size
- PDF/A conversion: Archival format
- PDF → Raster: PNG, TIFF, JPEG output
- PDF → PostScript: For legacy printers
Ghostscript has two PDF interpreters:
- Original (PostScript-based): Used until version 9.56.1, written in PostScript
- New (C-based): Default since version 9.55.0, faster and more secure
📤 How to Use Ghostscript
Ghostscript is a command-line tool. Here are the most common operations:
Basic PostScript to PDF Conversion (ps2pdf):
# Simple conversion using ps2pdf wrapper
ps2pdf input.ps output.pdf
# Equivalent direct Ghostscript command
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps
PDF Optimization (Reduce File Size):
# Optimize for screen viewing (smallest size)
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -sOutputFile=small.pdf input.pdf
# Optimize for ebook quality
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=ebook.pdf input.pdf
# High quality for printing
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=print.pdf input.pdf
Convert PDF to Images:
# Convert PDF to PNG (300 DPI)
gs -dNOPAUSE -dBATCH -sDEVICE=png16m -r300 -sOutputFile=page%d.png input.pdf
# Convert PDF to JPEG
gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r150 -sOutputFile=page%d.jpg input.pdf
Set PDF Metadata with pdfmark:
# Create a pdfmark file (metadata.ps):
[ /Title (My Document Title)
/Author (John Smith)
/Subject (Technical Report)
/Keywords (ghostscript, pdf, conversion)
/DOCINFO pdfmark
# Apply metadata during conversion:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps metadata.ps
🔧 PDF Settings
Ghostscript provides predefined PDF optimization profiles through the -dPDFSETTINGS parameter:
PDFSETTINGS Presets:
| Setting | Description | Image DPI | Use Case |
|---|---|---|---|
/screen | Lowest quality, smallest size | 72 DPI | Screen viewing, web |
/ebook | Medium quality, moderate size | 150 DPI | E-readers, tablets |
/printer | Good quality for printing | 300 DPI | Desktop printers |
/prepress | Highest quality, largest size | 300 DPI | Commercial printing |
/default | Balanced quality/size | Varies | General purpose |
Common Options
-dNOPAUSE— Don't pause between pages-dBATCH— Exit after processing-dSAFER— Restrict file operations (security)-dCompatibilityLevel=1.4— PDF version-r300— Set resolution to 300 DPI-dFirstPage=N— Start at page N-dLastPage=N— End at page N
PDF/A Options
-dPDFA=1— Create PDF/A-1b-dPDFA=2— Create PDF/A-2b-dPDFA=3— Create PDF/A-3b-sColorConversionStrategy=RGB-dEmbedAllFonts=true-dSubsetFonts=true
⚠️ Security Note
Always use the -dSAFER option when processing untrusted PostScript or PDF files. This restricts Ghostscript from executing potentially dangerous operations like file system access.
📱 Ghostscript Components
Ghostscript is part of the GhostPDL family of interpreters:
GhostPDL Product Family:
| Component | Input Formats | Description |
|---|---|---|
| Ghostscript | PostScript, PDF, EPS | Core interpreter and graphics library |
| GhostPDF | PDF interpreter (included in Ghostscript) | |
| GhostPCL | PCL, PXL | HP PCL interpreter |
| GhostXPS | XPS | Microsoft XPS interpreter |
| GhostPDL | All of the above | Combined all-in-one interpreter |
Ghostscript
PostScript & PDF interpreter, the core component
GhostPCL
HP PCL 5e/5c/XL printer language support
GhostXPS
Microsoft XML Paper Specification support
MuPDF
Lightweight PDF/XPS viewer library
URW Fonts
35 PostScript-compatible fonts (GPL)
GS Enterprise
Commercial version with Office support
🔍 Understanding PDF Metadata
Ghostscript sets PDF metadata using the pdfmark PostScript operator:
| Metadata Field | pdfmark Syntax | Description |
|---|---|---|
| Title | /Title (Document Title) |
Document title |
| Author | /Author (Author Name) |
Document author |
| Subject | /Subject (Description) |
Document subject |
| Keywords | /Keywords (key1, key2) |
Searchable keywords |
| Creator | /Creator (Application) |
Original creating application |
| Producer | Set automatically | Always "GPL Ghostscript [version]" |
| CreationDate | /CreationDate (D:YYYYMMDDHHmmSS) |
Creation timestamp |
| ModDate | /ModDate (D:YYYYMMDDHHmmSS) |
Modification timestamp |
Complete pdfmark Example (metadata.ps):
[ /Title (Annual Report 2025)
/Author (Jane Smith)
/Subject (Financial Summary)
/Keywords (finance, report, annual, 2025)
/Creator (Microsoft Word)
/CreationDate (D:20250127103000)
/DOCINFO pdfmark
# Usage: gs -sDEVICE=pdfwrite -o output.pdf input.ps metadata.ps
Note: The Producer field cannot be changed — it is always set to "GPL Ghostscript [version]" automatically.
🛠️ Troubleshooting
Common issues when using Ghostscript for PDF creation:
Fonts Not Embedded or Substituted
Cause: Ghostscript cannot find the fonts used in the PostScript file, or fonts are not being embedded.
Solution: Use -dEmbedAllFonts=true to force font embedding. Ensure font paths are correctly configured in Ghostscript's fontmap. For PDF/A output, all fonts must be embedded.
Output PDF Is Very Large
Cause: Images are not being compressed, or using prepress quality settings.
Solution: Use -dPDFSETTINGS=/screen or /ebook for smaller files. Add -dDownsampleColorImages=true -dColorImageResolution=150 to reduce image resolution.
Cannot Change Producer Field
Cause: The Producer field is hardcoded in Ghostscript and cannot be changed via pdfmark.
Solution: This is by design — Ghostscript always sets the Producer to "GPL Ghostscript [version]". If you need to change it, you must use a separate tool like ExifTool or QPDF after conversion.
Security Warning or SAFER Mode Issues
Cause: Ghostscript 9.50+ enables SAFER mode by default, which restricts file operations.
Solution: If you need to access files, use -dNOSAFER (only for trusted input). For most conversions, SAFER mode should remain enabled for security.
PostScript Errors or Corrupt Output
Cause: Malformed PostScript input or incompatible features.
Solution: Check the PostScript file for errors. Try adding -dPDFDontUseFontObjectNum for font issues. Use the newer C-based PDF interpreter (default in 9.55+) for better compatibility.
❓ Frequently Asked Questions
When a PDF shows "GPL Ghostscript" followed by a version number (like "GPL Ghostscript 10.02.1") as the Producer, it means the PDF was created using Ghostscript's pdfwrite output device. This typically indicates PostScript to PDF conversion using ps2pdf or direct Ghostscript commands. The "GPL" indicates the open-source version licensed under the GNU AGPL.
Yes, Ghostscript is available under the GNU AGPL (Affero General Public License) for open-source use. This means you can use it freely, but if you distribute software that uses Ghostscript, you must also make your source code available. Commercial licenses are available from Artifex Software for proprietary applications that cannot comply with the AGPL.
Ghostscript was first released on August 11, 1988, as version 1.0. It was created by Dr. L. Peter Deutsch for the GNU Project as an open-source PostScript interpreter. With over 35 years of active development, it is one of the longest-running open-source software projects.
ps2pdf is a convenience wrapper script that invokes Ghostscript with the pdfwrite device to convert PostScript files to PDF. It simplifies the conversion command. Variants include ps2pdf12, ps2pdf13, and ps2pdf14 for targeting specific PDF compatibility levels (1.2, 1.3, 1.4 respectively).
Yes! Ghostscript supports creating PDF/A-1b, PDF/A-2b, and PDF/A-3b compliant documents. Use the -dPDFA=1, -dPDFA=2, or -dPDFA=3 option along with appropriate color and font settings. You'll also need to supply an ICC profile and ensure all fonts are embedded.
Ghostscript is currently maintained by Artifex Software, Inc., headquartered in San Rafael, California. Artifex handles both the open-source AGPL version and commercial licensing. The original creator, Dr. L. Peter Deutsch, retired from the project around 2001. Artifex has been the steward of Ghostscript since the early 2000s.
Yes! Ghostscript is excellent for PDF optimization. Use -dPDFSETTINGS=/screen for maximum compression (smallest file), /ebook for moderate compression, or /printer for good quality with reasonable size. You can also manually control image downsampling and compression settings for fine-tuned optimization.
🛠️ Related Tools
PDF Metadata Viewer
Free tool to view PDF metadata including Creator, Producer, and version information.
View PDF Metadata →📝 Summary: Ghostscript PDF Metadata
- Ghostscript first released August 11, 1988
- Producer shows GPL Ghostscript [version]
- Creator shows the source application (dvips, etc.)
- Use ps2pdf for PostScript to PDF conversion
- Available under AGPL open-source license
- Created by Dr. L. Peter Deutsch
- Now maintained by Artifex Software
- Supports PDF/A archival format
- Use pdfmark to set metadata
- Core component of CUPS printing