Where are ghostscript options / switches documented?

From the Overview of Ghostscript page, I found the Ps2pdf.htm page explains dPDFSETTINGS:

-dPDFSETTINGS=configuration
Presets the "distiller parameters" to one of four predefined settings:

  • /screen selects low-resolution output similar to the Acrobat Distiller "Screen Optimized" setting.
  • /ebook selects medium-resolution output similar to the Acrobat Distiller "eBook" setting.
  • /printer selects output similar to the Acrobat Distiller "Print Optimized" setting.
  • /prepress selects output similar to Acrobat Distiller "Prepress Optimized" setting.
  • /default selects output intended to be useful across a wide variety of uses, possibly at the expense of a larger output file.

On the same page, MaxSubsetPct only appears in a table of recognized "Acrobat Distiller 5 parameters defined in the DistillerParameters document included in the Acrobat SDK", and links to that SDK.

Instead of downloading the large SDK, I searched for "Distiller Parameters" on Adobe's site and found Adobe PDF Creation Settings which explains MaxSubsetPct on page 88:

MaxSubsetPct

Supported by: all applications
Type: integer
UI name: Subset embedded fonts when percent of characters used is less than: value %
Default value: 100

The maximum percentage of glyphs in a font that can be used before the entire font is embedded instead of a subset. The allowable range is 1 through 100.

Distiller only uses this value if SubsetFonts is true. For example, a value of 30 means that a font will be embedded in full (not subset) if more than 30% of glyphs are used; a value of 100 means all fonts will be subset no matter how many glyphs are used (because you cannot use more than 100% of glyphs).


To get a list of all these options supported by -dPDFSETTINGS=..., you can do this:

gs \
  -dNODISPLAY \
  -c ".distillersettings {exch ==only ( ) print ==} forall quit"

You should see this Result:

/default -dict-
/prepress -dict-
/PSL2Printer -dict-
/ebook -dict-
/screen -dict-
/printer -dict-

You can execute the following Ghostscript command to query for the detailed settings of the -dPDFSETTINGS=/screen parameter:

gs \
  -q \
  -dNODISPLAY \
  -c ".distillersettings /screen get {exch ==only ( ) print ===} forall quit" \
| sort

This one queries Ghostscript's internal .distillersettings dictionary, which holds a key named /screen, whose value again is another dictionary... The output should be something like this (may vary slightly depending on your exact Ghostscript version):

/AutoRotatePages /PageByPage
/CannotEmbedFontPolicy /Warning
/ColorACSImageDict << /ColorTransform 1 /QFactor 0.76 /Blend 1 /HSamples [2 1 1 2] /VSamples [2 1 1 2] >>
/ColorConversionStrategy /sRGB
/ColorImageDownsampleType /Average
/ColorImageResolution 72
/CompatibilityLevel 1.3
/CreateJobTicket false
/DoThumbnails false
/EmbedAllFonts true
/GrayACSImageDict << /ColorTransform 1 /QFactor 0.76 /Blend 1 /HSamples [2 1 1 2] /VSamples [2 1 1 2] >>
/GrayImageDownsampleType /Average
/GrayImageResolution 72
/MonoImageDownsampleType /Average
/MonoImageResolution 300
/NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats]
/PreserveEPSInfo false
/PreserveOPIComments false
/PreserveOverprintSettings false
/UCRandBGInfo /Remove

The same you can do for all the (other) parameters -dPDFSETTINGS=... can take:

  • /prepress
  • /printer
  • /default
  • /screen
  • /ebook
  • /PSL2Printer

It's quite interesting to compare the detailed settings of all these (and also look up in parallel the Documentation for Ps2pdf.htm...).


This is a good document for new users:

http://www.ghostscript.com/doc/9.05/Use.htm