summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2014-03-12 09:33:24 +0000
committerKen Sharp <ken.sharp@artifex.com>2014-03-12 09:33:47 +0000
commit8fad68f7c27f16cf78967443322bc4f638649f27 (patch)
treef29d0a8057f80f91cdf70816f7d32a57add3a9fc
parentee30f349671e3a23d666615f1648eab4a5290b4c (diff)
downloadghostpdl-8fad68f7c27f16cf78967443322bc4f638649f27.tar.gz
Update documentation for the pdfwrite family
devices.htm - change epswrite references to eps2write, note that support for language level 1 output is now removed. drivers.htm - alter pswrite to ps2write use.htm - alter epswrite to eps2write issues.htm - remove a surprisingly large number of documented issues which appear to be no longer issues. Note that epswrite is deprecated. ps2pdf.htm - improve the documentation of PDF/A and PDF/X output and correct the places where it was incorrect with the new colour management. No differences.
-rw-r--r--gs/doc/Devices.htm18
-rw-r--r--gs/doc/Drivers.htm2
-rw-r--r--gs/doc/Issues.htm155
-rw-r--r--gs/doc/Ps2pdf.htm56
-rw-r--r--gs/doc/Use.htm2
5 files changed, 28 insertions, 205 deletions
diff --git a/gs/doc/Devices.htm b/gs/doc/Devices.htm
index 42dcbdaf5..cdd3c56b5 100644
--- a/gs/doc/Devices.htm
+++ b/gs/doc/Devices.htm
@@ -756,24 +756,12 @@ device options.</p>
<p>The <tt>ps2write</tt> device outputs postscript language levels 2 and 3.
Please refer to <a href="Ps2ps2.htm">Ps2ps2.htm</a> for the <tt>ps2write</tt>
-device options. It is recommnded that this device is used for PostScript output,
-unless level 1 PostScript is required in which case you must
-use the epswrite device below.</p>
+device options. It is recommnded that this device is used for PostScript output.
+There is no longer any support for creating PostScript level 1 output.</p>
<h3><a name="PS"></a>EPS writer</h3>
-<p>The <tt>epswrite</tt> device outputs encapsulated postscript. This device is now deprecated and
-should only be used when level 1 PostScript output is required.</p>
-
-<h4>Options</h4>
-
-<blockquote>
-<dl>
-<dt><code>-dLanguageLevel=<em>1 | 1.5 | 2 | 3</em></code> (default is 2)
-<dd>Set the language level of the generated file.
-Language level 1.5 is language level 1 with color extensions.
-Currently language level 3 generates the same PostScript as 2.
-</dl></blockquote>
+<p>The <tt>eps2write</tt> device outputs encapsulated postscript.</p>
<h3><a name="PXL"></a>PXL</h3>
diff --git a/gs/doc/Drivers.htm b/gs/doc/Drivers.htm
index 1b6bc754d..cf70f6981 100644
--- a/gs/doc/Drivers.htm
+++ b/gs/doc/Drivers.htm
@@ -1176,7 +1176,7 @@ each band being compressed separately.</tt>.
devices, the <tt>process_page</tt> device entry point is not. It will,
however, only be useful for devices that involve rendering the page.
As such, neither -dNumRenderingThreads or <tt>process_page</tt> will
-help accelerate devices such as <tt>pdfwrite</tt> or <tt>pswrite</tt>.
+help accelerate devices such as <tt>pdfwrite</tt> or <tt>ps2write</tt>.
<hr>
diff --git a/gs/doc/Issues.htm b/gs/doc/Issues.htm
index 353235ce3..d76250b8a 100644
--- a/gs/doc/Issues.htm
+++ b/gs/doc/Issues.htm
@@ -100,6 +100,9 @@ slow.
<p>
Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=615165"
class="offsite">#615165</a>, September 26, 2002.
+<p>NB. The epswrite device is deprecated as of the 9.12 release, the eps2write device
+should be used instead which does not suffer these limitations.
+</p>
<hr>
<h2><a name="Minor_bugs"></a>Minor Bugs.</h2>
@@ -130,76 +133,7 @@ from pdfmark's.
</I>
<p>
March 25, 2001.
-<h3>ps2pdf ignores transfer functions in shaded fill</h3>
-ps2pdf ignores transfer functions in the shaded fill but
-uses them for vector objects. The following sample program
-has 2 shaded fills and 2 rectangles that should have the
-same color as the left end of the shaded fill.
-<blockquote><pre>
-
-%!
-&lt;&lt;/PageSize [612 200] /Policies&lt;&lt;/PageSize 1&gt;&gt; &gt;&gt;setpagedevice
-612 1 scale
-/grad
-{ gsave
- 0 0 1 100 rectclip
- &lt;&lt;
- /ColorSpace [/DeviceCMYK]
- /Domain [0 1]
- /Coords [0 0 1 0]
- /Extend [false false]
- /Function
- &lt;&lt; /FunctionType 3
- /Domain [ 0 1]
- /Functions
- [ &lt;&lt;
- /FunctionType 2
- /N 1
- /C0 [ 0 0.5 0 0 ]
- /Domain [ 0 1]
- /C1 [0.5 0 0 0]
- &gt;&gt; ]
- /Bounds []
- /Encode [0 1]
- &gt;&gt;
- /ShadingType 2
- &gt;&gt; shfill
-
- 0 0.5 0 0 setcmykcolor
- 0 0 0.1 50 rectfill
- grestore
-} def
-
-grad
-{1 exch 2 div sub} settransfer
-0 100 translate
-grad
-showpage
-
-</pre></blockquote>
-Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=232334"
-class="offsite">#232334</a>, February 14, 2001.
-
-<h3>ResourceFileName gives wrong result with Font category.</h3>
-The following sequence:
-
-<blockquote><pre>
-/Font /Category findresource begin
-/CharterBT-Roman 255 string ResourceFileName =
-end
-</pre></blockquote>
-Gives the results:
-<pre>
- /Resource/Font/CharterBT-Roman
-</pre>
-
-This should be a valid platform specific file name and path such as:
-<pre>
- f:/afpl/fonts/bchr.pfa
-</pre>
-Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=233403"
-class="offsite">#233403</a>, February 21, 2001.
<h3>GS doesn't handle names of separations with HalftoneType 5.</h3>
PLRM3 says, that HalftoneType 5 may use user defined
names of separations. Neither zht2.c nor cmd_put_drawing_color in
@@ -246,49 +180,6 @@ filter and to be put into the 'tables' array.</i>
Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=615620"
class="offsite">#615620</a>, September 27, 2002.
-<h3> save restore fails from the command line </h3>
-
-<p>
-Entering 'save' followed by 'restore' from the interactive
-Ghostscript prompt (on separate lines) generates an /invalidrestore
-exception. It shouldn't. This is a long standing issue.
-
-<p>
-The problem is that the string that is used
-for command line input by the 'executive'
-processing still exists when the 'restore'
-happens, but this string is brought into
-existence after the 'save' operation, thus
-an causing an invalidrestore.
-
-<p>
-Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=603689"
-class="offsite">#603689</a>, September 2, 2002.
-
-<h3> Failure to repair incorrect component ids in JPEG images </h3>
-
-<p>There are PDF files in the wild containing JPEG images with
-incorrect component id tags. Ghostscript currently displays these
-files incorrectly, but in the past the files displayed fine. The
-problem is not in Ghostscript itself, though, but in the libjpeg
-library.
-
-<p>Behavior changed in recent libjpeg versions; libjpeg version 6a
-ignored the component ids. As of version 6b, libjpeg interprets the id
-tags, but creates garbage output when they're invalid. We developed a
-<a
-href="http://ghostscript.com/pipermail/gs-code-review/2004-June/004579.html"
-class="offsite">patch
-to libjpeg 6b</a> which makes the decoding more robust. We are not
-aware of anybody maintaining new libjpeg releases, so we include the
-patch here in the hope that people can apply it themselves, and that
-in the event that there is a future libjpeg update, that it will
-include this patch as well. Linux distributions are especially
-encouraged to apply this patch to the system libjpeg package.
-
-<p>Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=406643"
-class="offsite">#686980</a>, July 31, 2003.
-
<hr>
<h2><a name="Driver_Issues"></a>Driver Issues.</h2>
@@ -330,22 +221,6 @@ be clipped or scaled.
</I>
<p>
-<h3> User request for pdfwrite to convert all colors.</h3>
-
-<p>
-Currently, pdfwrite only converts fill/stroke/text/imagemask colors to the
-color space defined by ProcessColorModel, not colors in images. A user
-requested that it convert all colors, including images. (Feature request
-<a href="http://bugs.ghostscript.com/show_bug.cgi?id=485498"
-class="offsite">#485498</a>)
-<p>
-<i>
-ProcessColorModel is a stopgap until pdfwrite handles device-dependent
-vector/text/mask colors properly -- i.e., no longer converts them to a
-single color space. I.e., this request is for a significant enhancement,
-not a bug fix.
-</i>
-
<hr>
<h2><a name="Performance"></a>Performance.</h2>
@@ -476,30 +351,6 @@ keep consistent, because the same logic algorithms must be implemented
in two different ways. The problem is likely to be in lib/gs_fonts.ps,
lib/gs_res.ps, and lib/gs_cidcm.ps.
</i>
-<h3> There's no %ram% device.</h3>
-GS doesn't have %ram% device reguired on all Level 3 products.
-It is documented in PS Supplement 3010 and 3011 dated August 30, 1999
-<br>
-Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=226943"
-class="offsite">#226943</a>, December 27, 2000.
-<p>
-<I>
-This should be implemented using the (disk) file system rather than
-actual RAM, at least initially, since that will be easy.
-<br>
-On Unix, it should be implemented with a directory /tmp/&#36;&#36;/ (where
-&#36;&#36; is the process id), which Ghostscript should delete when it exits.
-</I>
-
-<h3> pdfwrite doesn't recognise the image type by content</h3>
-Currently pdfwrite uses JPEG compression for any 8 bit per component
-images &gt;= 64 pixels in both dimensions.
-<p>
-<I>
-pdfwrite needs to be changed to use a reasonable algorithm for deciding
-between JPEG and Flate compression, probably based on sharp vs. smooth
-color transitions in the image; in case of uncertainty, it should use Flate.
-</I>
<p>
Bug <a href="http://bugs.ghostscript.com/show_bug.cgi?id=226391"
class="offsite">#226391</a>, December 19, 2000.
diff --git a/gs/doc/Ps2pdf.htm b/gs/doc/Ps2pdf.htm
index 8de84488c..fc77f6040 100644
--- a/gs/doc/Ps2pdf.htm
+++ b/gs/doc/Ps2pdf.htm
@@ -805,21 +805,26 @@ To create a PDF/X-3 document from a Postscript or a PDF file, you should :
<li> Specify the <code>pdfwrite</code> device or use the <code>ps2pdf</code> script.
<li> Specify the <code>-dPDFX</code> option. It provides the document conformity
and forces <code>-dCompatibilityLevel=1.3</code>.
-<li> Specify <code>-sProcessColorModel=DeviceGray</code> or <code>-sProcessColorModel=DeviceCMYK</code>
- (<code>DeviceRGB</code> is not allowed). You must specify a ProcessColorModel, even if you plan
- to create a device-independent colour PDF file using -dUseCIEColor.
-<li> Specify the <code>-dUseCIEColor</code> option if necessary (see below).
+<li> Specify <code>-sColorConversionStrategy=/Gray</code>, <code>-sColorConversionStrategy=/CMYK</code>
+ or <code>-sColorConversionStrategy=/UseDeviceIndependentColor</code>(<code>RGB</code> is not allowed).
+ If you plan to create a device-independent colour PDF file then you should set the ProcessColorModel
+ using <code>-sProcessColorModel=DeviceGray</code> or <code>-sProcessColorModel=DeviceCMYK</code>.
<li> Specify a PDF/X definition file before running the input document.
It provides additional information to be included into the output document.
A sample PDF/X definition file may be found in <code>gs/lib/PDFX_def.ps</code>.
<li> If a registered printing condition is applicable, specify its identifier
in the PDF/X definition file. Otherwise provide an ICC profile and
- specify it in the PDF/X definition file as explained below.
+ specify it in the PDF/X definition file as explained below.
<li> Provide a <code>DefaultRGB</code> resource file in the ColorSpace resource category.
Either define it in the PDF/X definition file, or provide
a definition of <code>gs/Resource/ColorSpace/DefaultRGB</code> .
<code>gs/Resource/ColorSpace/DefaultRGB</code> is usually
distributed with Ghostscript, its content may not necessarily satisfy your needs, see below.
+<li> Specify, using <code>-sOutputICCProfile</code>, an ICC profile which represents the color
+ space (either CMYK or Gray) of the final file. This is the same ICC profile used in the
+ PDF/X definition file as the ICCProfile. Even if you are using a standard OutputCondition and
+ do not need to specify an ICCProfile, you must still set OutputICCProfile with an appropriate
+ ICC profile in order for proper color conversion.
</ul>
<p>
@@ -863,30 +868,6 @@ define a title with DSC comments. Otherwise remove entire line from definition f
<dd>Defines an <code>Info</code> value for the output intent dictionary.
</dl>
-<p>
-The PDF/X-3 standard requires colors to be adjusted at the
-document generation time, Ghostscript <em>does not</em> perform any
-special color conversion. Either colors to be adjusted in advance,
-or a proper color conversion to be specified in <code>DefaultGray</code>,
-<code>DefaultRGB</code>, <code>DefaultCMYK</code> resources of the
-<code>ColorSpace</code> resource category.
-
-<P>
-If you want any color to be converted into CIE color,
-the <code>-dUseCIEColor</code> option to be specified
-in the command line. If it is not specified,
-only RGB colors are converted into CIE colors
-with using the <code>DefaultRGB</code> color space resource,
-but <code>DeviceGray</code> and <code>DeviceCMYK</code>
-colors are passed identically.
-
-<p>Please note that if a graphic object can't embed into the output format,
-Ghostscript converts it into low level objects, using a device color space
-specified in the <code>ProcessColorModel</code> option.
-If you need to adjust those resulting colors, you may substitute
-them with CIE colors, <em>running Ghostscript at second time </em>.
-Performing both actions in a single pass is a subject of further improvements.
-
<p>Ghostscript distribution does not contain an ICC profile to be used
for creating a PDF/X-3 document. Users should either create an appropriate one themselves,
or use one from a public domain, or create one with the PDF/X-3 inspector freeware.
@@ -932,7 +913,7 @@ It accepts a four-value array in the same format as the
Here is a sample command line to invoke Ghostscript for generating a PDF/X-3 document :
<blockquote><code>
-gs -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sDEVICE=pdfwrite -sOutputFile=out-x3.pdf PDFX_def.ps input.ps
+gs -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -sColorConverionStrategy=/CMYK -sOutputICCProfile="ISO Coated sb.icc" -sDEVICE=pdfwrite -sOutputFile=out-x3.pdf PDFX_def.ps input.ps
</code></blockquote>
<p>
@@ -947,11 +928,14 @@ with the following exceptions :
<ul>
<li> Specify the <code>pdfwrite</code> device or use the <code>ps2pdf</code> script.
-<li> Specify the <code>-dPDFA</code> option to specify PDF/A-1 or PDF/A-2.
-<li> Specify <code>-sProcessColorModel=DeviceGray</code>, <code>-sProcessColorModel=DeviceRGB</code> or <code>-sProcessColorModel=DeviceCMYK</code>
- You must specify a ProcessColorModel, even if you plan
- to create a device-independent colour PDF file using -dUseCIEColor.
-<li> Specify the <code>-dUseCIEColor</code> option if necessary (see PDF/X above).
+<li> Specify the <code>-dPDFA</code> option to specify PDF/A-1, or <code>-dPDFA=2</code> for PDF/A-2.
+<li> Specify <code>-sColorConversionStrategy=/RGB</code>, <code>-sColorConversionStrategy=/CMYK</code>
+ or <code>-sColorConversionStrategy=/UseDeviceIndependentColor</code>.
+ If you plan to create a device-independent colour PDF file then you should set the ProcessColorModel
+ using <code>-sProcessColorModel=DeviceRGB</code> or <code>-sProcessColorModel=DeviceCMYK</code>.
+<li> Specify, using <code>-sOutputICCProfile</code>, an ICC profile which represents the color
+ space (either CMYK or RGB) of the final file. This is the same ICC profile used in the
+ PDF/X definition file as the ICCProfile.
<li> Specify a PDF/A definition file before running the input document.
It provides additional information to be included in the output document.
A sample PDF/A definition file may be found in <code>gs/lib/PDFA_def.ps</code>.
@@ -980,7 +964,7 @@ depending on the nature of the PDF/A incompatibility.
Here is a sample command line to invoke Ghostscript for generating a PDF/A document :
<blockquote><code>
-gs -dPDFA=1 -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sOutputFile=out-a.pdf PDFA_def.ps input.ps
+gs -dPDFA=1 -dBATCH -dNOPAUSE -dNOOUTERSAVE -sColorConversionStrategy=/RGB -sOutputICCProfile=srgb.icc -sDEVICE=pdfwrite -sOutputFile=out-a.pdf PDFA_def.ps input.ps
</code></blockquote>
<p>
diff --git a/gs/doc/Use.htm b/gs/doc/Use.htm
index 9bae689c5..ae69ca6ec 100644
--- a/gs/doc/Use.htm
+++ b/gs/doc/Use.htm
@@ -389,7 +389,7 @@ specifications. Some examples are:
<p><b>
Note, however that the one page per file feature may not supported by all devices.
Also, since some devices write output files when opened, there may be an extra
-blank page written (pdfwrite, ps2write, epswrite, pxlmono, pxlcolor, ...).
+blank page written (pdfwrite, ps2write, eps2write, pxlmono, pxlcolor, ...).
</b>
<p>