summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2022-03-21 17:27:47 +0000
committerKen Sharp <ken.sharp@artifex.com>2022-03-21 17:30:20 +0000
commit1158b25fe28f9d60c65417712f16a0f9cccac95c (patch)
treeda5ab7328619ada55b8aae2a3649566923ac33dd /doc
parent9f6772c1292022dee6576b2f3d0c258e523af834 (diff)
downloadghostpdl-1158b25fe28f9d60c65417712f16a0f9cccac95c.tar.gz
pdfwrite - add controls for optional entries with variable content
Bug #704846 "Optionally omit CreatingTime in PDF output for reproducibility" Some content in a PDF file is created using the system time, and will vary depending on the precise time the file is created. This is entirely correct and we are not prepared to alter this behaviour. However said content is also often optional, but there was no way to prevent pdfwrite creating it. This commit adds three new controls; OmitDateInfo, OmitXMP and OmitID which direct pdfwrite not to create and include the CreationDate and ModDate in the /Info dict and Metadata (OmitInfoDate), the file ID in the trailer dictionary (OmitID) and the XMP Metadata included in the Catalog dictionary (OmitXMP). There are, however, other considerations. XMP metadata is required for a valid PDF/A file, /ID is required for PDF 2.0, and for encrypted files and CreationDate is required for PDF/X-3. As a result if you try to set these controls with one of those other features, it will raise a warning and ignore the control.
Diffstat (limited to 'doc')
-rw-r--r--doc/VectorDevices.htm32
1 files changed, 30 insertions, 2 deletions
diff --git a/doc/VectorDevices.htm b/doc/VectorDevices.htm
index e4de807fe..7a25d1a74 100644
--- a/doc/VectorDevices.htm
+++ b/doc/VectorDevices.htm
@@ -798,14 +798,42 @@ usually result in a slightly larger PDF file.</dd>
instead applied by the interpreter.
<p>
This control also requires the PDF interpreter to pass the marked content to the pdfwrite device, this is only done with the
- new (C-based) PDF interpreter. THe old (PostScript-based) interpreter does not support this feature and will not pass marked
+ new (C-based) PDF interpreter. The old (PostScript-based) interpreter does not support this feature and will not pass marked
content to the pdfwrite device.
</p>
</dd>
</dl>
-The following options are useful for creating PDF 1.2 files:
+<d1>
+ <dt><code>-dOmitInfoDate</code><em>boolean</em></dt>
+ <dd>Under some conditions the CreationDate and ModDate in the /Info dictionary are optional and can be omitted. They are required
+ when producing PDF/X output however. This control will allow the user to omit the /CreationDate and /ModDate entries in the
+ Info dictionary (and the corresponding information in the XMP metadata, if present). If you try to set this control when
+ writing PDF/X output, the device will give a warning and ignore this control.
+ </dd>
+</d1>
+<p></p>
+
+<d1>
+ <dt><code>-dOmitID</code><em>boolean</em></dt>
+ <dd>Under some conditions the /ID array trailer dictionary is optional and can be omitted. It is required
+ when producing PDF 2.0, or encrypted PDFs however. This control will allow the user to omit the /ID entry in the
+ trailer dictionary. If you try to set this control when writing PDF 2.0 or encrypted PDF output, the device will give a warning and ignore this control.
+ </dd>
+</d1>
+<p></p>
+
+<d1>
+ <dt><code>-dOmitXMP</code><em>boolean</em></dt>
+ <dd>Under some conditions the XMP /Metadata entry in the Catalog dictionary is optional and can be omitted. It is required
+ when producing PDF/A output however. This control will allow the user to omit the /Metadata entry in the
+ Catalog dictionary. If you try to set this control when writing PDF/A output, the device will give a warning and ignore this control.
+ </dd>
+</d1>
+<p></p>
+
<p>
+The following options are useful for creating PDF 1.2 files:
<dl>