For other information, see the Ghostscript overview.
ps2ps2
is a script for converting a PDF or a Postscript Level 3 into
Postscript Level 2.
ps2ps2
is implemented as a very small command script (batch
file) that invokes Ghostscript, selecting a special "output device" called
ps2write
. In order to use ps2ps2
, the
ps2write
device must be included in the makefile when
Ghostscript was compiled; see the documentation on building
Ghostscript for details: this is currently the case on all platforms, in
Ghostscript as we distribute it.
The usage for ps2ps2
is
ps2ps2
[options] input.{ps|eps|pdf} output.ps
The options given on the command line may include any switches valid for use with Ghostscript's PostScript and PDF interpreter (see here for a complete list).
Since ps2write
makes use of some printer
parameters when converting high level objects into Level 2 objects,
we strongly recommend setting those values appropriately for the
target printer or other output device.
In particular, it is important that
Output resolution,
-dFIXEDMEDIA
, and
ProcessColorModel
to be set correctly.
Important :
If the target printer can't handle a particular font type,
ps2write converts the fonts into a bitmap fonts representation,
using the resolution specified when ps2write is invoked.
In particular this can happen with CID fonts, which are not Postscript Level 2 objects.
In general these are converted to multiple instances of other font types)
Therefore the page device parameter PageSize
must match the target printer, and we recommend setting
the PageSize
entry of the Policies
dictionary to 3, in order to provide correct page scaling
in the Postscript interpreter when ps2write is invoked.
More importantly, options passed to ps2ps2 may include
-d
parameter=value or
-s
parameter=string switches for setting
"distiller parameters", Adobe's documented parameters for controlling the
conversion process. The PostScript setdistillerparams
and
currentdistillerparams
operators are also recognized when
running ps2ps2
, and provide an equivalent way to set these
parameters from within the PostScript input file.
The ps2write
device handles the same set of distiller
parameters as
are handled by the pdfwrite
device. See the
PostScript-to-PDF converter
documentation for a complete description of how to use them to
control the document conversion.
The following options may be important for ps2ps2
due to the target printer features:
-dPatternImagemask=
boolean,
-dMaxClipPathSize=
integer,
-dMaxShadingBitmapSize=
integer,
-dHaveTrueTypes=
boolean.
-dMaxInlineImageSize=
integer
must not be used with ps2ps2
.
This set includes all of the Acrobat Distiller 5 parameters
defined in the DistillerParameters document included in the
Acrobat SDK.
Default values are same as the printer
settings defined
in PostScript-to-PDF converter,
with these exceptions:
/PreserveHalftoneInfo
true,
/TransferFunctionInfo
/Preserve,
/CompressPages
true,
/CompressFonts
true,
/ASCII85EncodePages
true,
There are also the following ps2write specific options :
-dProduceDSC=
boolean
ProduceDSC
is false.
-dCompressEntireFile=
boolean
LZWEncode
and ASCII85Encode
filters will be applied to the entire output file.
In this case CompressPages
should be false to prevent a dual compression.
When this parameter is false, these filters will be applied to the initial procset only,
if CompressPages
is true.
Default value is false
.
Note: It is not possible to set CompressEntireFile
when ProduceDSC
is true as a single compressed object cannot conform to the DSC. It is possible to set CompressPages
which will also compress the ps2write ProcSet.
Not implemented yet.
A few options can be used to control the behavior of the printer or
program that reads the result of ps2ps2. These options cannot be used if ProduceDSC
is true, as they break the page-independence required for DSC files.
-dRotatePages=
boolean.
-dSetPageSize=true
.
-dFitPages=
boolean.
HaveTrueTypes
;
See Options about the PageSize
entry of the Policies
dictionary while the conversion step).
Default value : false.
Must be false if -dSetPageSize=true
or -dCenterPages=true
.
-dCenterPages=
boolean.
-dRotatePages=true
, which may rotate the image on the media if it fits better, and then center it.
Default value : false.
Must be false if -dSetPageSize=true
or -dFitPages=true
.
-dSetPageSize=
boolean.
-dRotatePages=true
, -dCenterPages=true
or -dFitPages=true
.
-dDoNumCopies=
boolean.
These correspond to keys in the Postscript userdict
of the target printer's virtual memory to control its behavior while
executing a job generated with ps2ps2
.
These keys can be set when executing ps2ps2 (or using the ps2write device), this 'fixes' the resulting behaviour according to which key has been set. If these keys are not defined during conversion, the resulting PostScript will not attempt any form of media selection. In this case the behaviour can then be modified by setting the keys, either by modifying the resulting PostScript or setting the values in some other manner on the target device.
Attempting to generate a device independent Postscript Level 2 is a bad idea. Postscript Level 2 data are device dependent by definition. Let Ghostscript know the features of the specific printer as described in Options while generating a printer job.
ps2ps2
provides a simplified interface to the Ghostscript
command line. It is not possible to use -c
option or pass
multiple source files. For unrestricted access to the command line
parameters, use Ghostscript directly. E.g. :
gs -q -dSAFER -dNOPAUSE -dBATCH -sOutputFile=file.ps
[more options]\
source1.pdf [more files]
-sDEVICE=ps2write
Copyright © 2000-2006 Artifex Software, Inc. All rights reserved.
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 http://www.artifex.com/ or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
Ghostscript version 9.07, 12 February 2013