Copy link to clipboard
Copied
Hello.
Say we have a PDF with one page whose /Resources dictionary contains the /XObject dictionary referring to a Form XObject. Both the page's and the Form XObject's streams contain a marked content sequence. Sure, the Form XObject has its own StructParents (plural) key.
Every marked sequence of the Form XObject's content is referred to by structure elements via /MRC (PDF Specification paragraph 14.7.4.2).
For the Adobe Acrobat Accessibility Full Check everything is fine as long as:
Instead if the Form XObject's content consumes some other Image XObject (Do), the Full Check complains that such images are not properly tagged ('Other elements alternate text - Failed').
Instead the PAC3 Checker is happy.
Curiously, asking Adobe Acrobat to tag such images does nothing.
Please, consider that in my case extracting the Form XObject's content to put in directly in the page's content is not an option.
Considering the mismatch between the Adobe Full Check and PAC3, I need help to understand if the Adobe Full Check is right or not.
Thank you all.
Copy link to clipboard
Copied
Obviously I meant /MCR.
If needed, I can provide the PDF file.
Copy link to clipboard
Copied
I have no knowledge of this, but I suggest to save time you post your EXACT (three part) version of Acrobat.
Copy link to clipboard
Copied
Adobe Acrobat DC
Continuous Release: 2018.009.20050
Product Version: 18.9.20050.254034
File Version: 18.009.20050.57426
AGM Version: 4.030.00072
CoolType Version: 5.014.00025
Nucleus Version: 18.2304
JP2K Version: 1.002.00002.39492
Copy link to clipboard
Copied
Some more info. In the sample file, the page has /StructParents 0 and consumes a Form XObject, whose /StructParents is 1.
In general it seems that the /StructParents key of the Form XObjects is not handled properly. It seems that the page's parent tree map (key: MCID, value: struct elem's obj ID) clashes with the parent tree map of the Form XObject.
A related symptom is Preflight issuing the message "Inconsistent ParentTree mapping (ParentTree element 0) for structure element - Traversal Path: ->StructTreeRoot->K->[0]->K->[0]->K->[2]->K->[0]->K->[0]->K".
Following the suggested sub-tree, it is clear that Preflight, analyzing the marked content of the page, ends in struct elements related to the Form XObject. Instead, any StructParents value must have its own map, since they are independent; this is needed to let a Form XObject have its own StructParents different than the one of its containing page.
If needed, I can provide samples and screenshots to show this clearly: simply changing the MCID numbering of the page's marked sequence makes Preflight change its errors count and detail, anyway still referring to struct elements related to the Form XObject.
Copy link to clipboard
Copied
Yes, confirmed, PreFlight does not seem to honor the /StructParents entry of Form XObject-s.
Example: the Form XObject has /StructParents 1 and its content has four MCIDs: 0, 1,2 and 3. The page has /StructParents 0 and its content has two MCIDs:
This leads to suppose that PreFlight is using a unique MCID map in its RAM, actually merging all the MCIDs of the page and of every XObject consumed by the page, thus ignoring the Form XObject's StructParents.
As usual, I can provide PDF samples for every case.
To summarize the thread, there are two unexpected behaviors about Form XObject-s:
Copy link to clipboard
Copied
How to involve an Adobe Escalation Manager to investigate on such issues?
_____
And now, the third unexpected behavior, this time for the loud reader. The problem is about the 'read on mouse click' feature.
Say we have a Form XObject (A) containing a marked content sequence made of some texts (Tj), each enclosed in a BDC-EMC block.
If the Form XObject (A) contains all the text directly, everything is OK, indeed we can click on each text, that text only will be surrounded by a black rectangle and the lour reader reads it only.
Instead, if even one only text is contained as pure text (i.e. not a marked content sequence) in an inner Form XObject (B), all the text content of the Form XObject (A) is treated as a whole block, indeed clicking on any text, all the Form XObject (A) content will be surrounded by a black rectangle and the lour reader reads the last text.
I can provide PDF samples for every case.
To summarize the thread, there are three unexpected behaviors about Form XObject-s:
_____
Again: how to involve an Adobe Escalation Manager to investigate on such issues?
Copy link to clipboard
Copied
Good luck with that. If there is such a thing and you find a way, please let us know.
Copy link to clipboard
Copied
Can you provide a sample file where according to your observations StructParents is not handled correctly by Preflight?
Olaf
Copy link to clipboard
Copied
Thank you for your time and help.
I've just sent a message with links to download the files.
Thank you again.