Closed petervwyatt closed 2 weeks ago
@DietrichSeggern? @bdoubrov? @lrosenthol?
Summary of this comment: This ‘an embedded file specification (7.11.4, “Embedded file streams”) or’ should be removed from the definition in Table 402 “Entries in a DestOutputProfileRef dictionary” on URLs.
The DestOutputProfileRef was first used in PDF/X-4p where the URLs entry was mandatory. All values in the URLs array have to be file specifications (without an EF (embedded file) entry). Since embedded file streams are one option for URL file specifications it is misleading to list them as alternatives.
PDF/X-5n and PDF/X-6n which are using embedded files for referenced ICC profiles are using the EF entry with an URL file specification, so embedded file streams should be supported, but not as an alternative to URL specifications as currently stated, it rather is an option.
In addition I think the headline hierarchy in PDF 2.0 section 7.11. is wrong: what currently is 7.11.4, 7.11.5 and 7,11,6 should be 7.11.2.1 7.11.2.2 and 7.11.2.3. I believe this wrong hierarchy is the root cause of the misconception behind this issue.l
+1 to @DietrichSeggern and his comments above.
Proposed solution along the lines of:
... the URLs entry shall be an array of file specification dictionaries (see Table 43) where each entry shall have an FS entry with the value URL and the F entry shall be a PDFDocEncoded text string limited to RFC 3986 (see 7.11.5.)
Regarding restructure of 7.11 subclauses: I think this further implies that an embedded file stream object can never exist unless it is a "child" of a file specification dictionary...
e.g. possibly SlideShow Resources name-tree (Table 308) which maps a string to ???
True, but since it is in the File specifications chapter anyway that is already implied. But I do not insist that we change that in an amendment.
I have no problem agreeing on such "surgical" changes, but it is difficult to do with the methods we currently use to publish errata (XFDF, annotated PDF, HTML markup, etc). It also makes it a bit confusing for any new errata references. My current method with other similar proposals is to "park" the resolved issue and do it whenever a full edit of the PDF spec is next undertaken.
See also Errata #481 for another change in 7.11 subclauses.
PDF TWG agree:
In Table 402 "Entries in a DestOutputProfileRef dictionary", the URLs entry is described as:
There is no such thing as an "embedded file specification" and the reference to 7.11.4 is to an embedded file stream object - so is it a dictionary or directly to the stream?
Also 7.11.5, "URL specifications" only describes itself as a PDFDocEncoded string in the context of the FS entry in a file specification dictionary has the value URL, so is the intention for URLs array elements to be just the string, or a complete but simple file specification dictionary as shown by the example in 7.11.5?
So the question is what are the valid elements for this array (one or more of the following)?:
The word "or" in the current description implies that there are 2 different kinds of array element objects...
The answer is likely heavily influenced by existing PDF/X files which may have interpreted things differently.