Pdf 在第508节中,链接注释必须是链接结构中的第一件事吗?

Pdf 在第508节中,链接注释必须是链接结构中的第一件事吗?,pdf,accessibility,section508,Pdf,Accessibility,Section508,我正在使用PAC PDF可访问性检查器分析一些PDF。我不清楚这是否真的是一个错误(如本软件所报告的),或者该软件是否可能有bug 这涉及链接结构。检查未报告错误的文档时。我看到该工具报告的结构如下: 有一个链接结构元素,其中包含一个链接注释,后跟一个包含文本“可扣除”的跨度 另一个PDF有此错误,报告为“链接注释未嵌套在链接结构元素中”: 这两者唯一的真正区别是跨度在链接注释之前,但毫无疑问,第二个示例中的链接注释嵌套在链接结构中 我相信第二种结构是有效的,不应该是报道中的错误,但我不确

我正在使用PAC PDF可访问性检查器分析一些PDF。我不清楚这是否真的是一个错误(如本软件所报告的),或者该软件是否可能有bug

这涉及链接结构。检查未报告错误的文档时。我看到该工具报告的结构如下:

有一个链接结构元素,其中包含一个链接注释,后跟一个包含文本“可扣除”的跨度

另一个PDF有此错误,报告为“链接注释未嵌套在链接结构元素中”:

这两者唯一的真正区别是跨度在链接注释之前,但毫无疑问,第二个示例中的链接注释嵌套在链接结构中

我相信第二种结构是有效的,不应该是报道中的错误,但我不确定。问题是。。。有人知道吗

链接注释必须是链接结构内部的第一件事还是第一件事

更新

按照一个答案中的建议使用Adobe Tag viewer,可以清楚地看出它嵌套在:


您的屏幕截图是PAC工具显示的链接结构,对吗?acrobat显示的标记结构如何?如果你可以发布pdf文件,我可以看一看

在第10页,有一个注释错误部分(检查点28)。对于错误#11,它表示“链接注释未嵌套在链接标记中。”

如果查看acrobat中的“标记”窗格,您应该能够看到链接批注是否包含在链接中。即使PAC可能很好,您也应该查看原始文档中的链接结构,而不是工具中的链接结构

您应该有一个
标记,然后嵌套在其中的应该是一个“Link-OBJR”对象。这就是注释。如果“Link-OBJR”在
之外,那么这就是问题所在

这里有一个糟糕的注释:

这里有一个很好的注释:


要修复错误的注释,只需将“Link-OBJR”拖放到正确的位置(在“PAC 1.3”之前的
下)。

您的屏幕截图是PAC工具显示的链接结构,对吗?acrobat显示的标记结构如何?如果你可以发布pdf文件,我可以看一看

在第10页,有一个注释错误部分(检查点28)。对于错误#11,它表示“链接注释未嵌套在链接标记中。”

如果查看acrobat中的“标记”窗格,您应该能够看到链接批注是否包含在链接中。即使PAC可能很好,您也应该查看原始文档中的链接结构,而不是工具中的链接结构

您应该有一个
标记,然后嵌套在其中的应该是一个“Link-OBJR”对象。这就是注释。如果“Link-OBJR”在
之外,那么这就是问题所在

这里有一个糟糕的注释:

这里有一个很好的注释:


要修复错误的注释,只需将“Link-OBJR”拖放到正确的位置(在“PAC 1.3”之前的
下)。

我正在开源PDF渲染器中实现PDF/UA[1]。我在PAC3中得到了这个确切的错误,正如您所认为的,这可能是因为我将链接注释的对象引用添加为链接结构元素的最后一个子元素,而不是第一个子元素。所以我重构了我的代码,让它成为第一个孩子。还是有同样的错误

在重新阅读了部分规范之后,我发现数字树的生成是错误的。数字树用于获取与内容项对应的结构元素父级,在本例中为链接注释

我可以向您展示如何使用数字树跟踪注释到其父结构。首先,查找链接注释(搜索
/link
)(您可以使用文本编辑器打开PDF)。它应该看起来像:

17 0 obj
<<
/Type /Annot
/Subtype /Link
/A 53 0 R
/Rect [0.0 113.774994 49.7625 125.99999]
/BS 54 0 R
/StructParent 2
>>
13 0 obj
<<
/Nums [0 [24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R
34 0 R]
 1 25 0 R 2 27 0 R 3 30 0 R 4 [35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R]
5 [45 0 R 46 0 R 47 0 R 48 0 R]
]
>>
请注意,链接注释的结构父项2旁边的条目是
27 0 R
。因此,请在您的文档中查找
27 0 R

27 0 obj
<<
/Type /StructElem
/S /Link
/P 26 0 R
/Pg 8 0 R
/Alt (Go to Google!)
/K [3 69 0 R]
>>
27 0 obj
>
请注意,在这个正确的示例中,它是具有子类型
/Link
的结构元素。如果无法遵循此链,或者链顶部的对象不是链接结构元素,则很可能没有正确渲染数字树。在我的例子中,当PAC报告错误时,树顶部的对象就是链接注释本身。在将其更改为其父结构后,它运行良好


[1]

我正在开源PDF呈现程序中实现PDF/UA[1]。我在PAC3中得到了这个确切的错误,正如您所认为的,这可能是因为我将链接注释的对象引用添加为链接结构元素的最后一个子元素,而不是第一个子元素。所以我重构了我的代码,让它成为第一个孩子。还是有同样的错误

在重新阅读了部分规范之后,我发现数字树的生成是错误的。数字树用于获取与内容项对应的结构元素父级,在本例中为链接注释

我可以向您展示如何使用数字树跟踪注释到其父结构。首先,查找链接注释(搜索
/link
)(您可以使用文本编辑器打开PDF)。它应该看起来像:

17 0 obj
<<
/Type /Annot
/Subtype /Link
/A 53 0 R
/Rect [0.0 113.774994 49.7625 125.99999]
/BS 54 0 R
/StructParent 2
>>
13 0 obj
<<
/Nums [0 [24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R
34 0 R]
 1 25 0 R 2 27 0 R 3 30 0 R 4 [35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R]
5 [45 0 R 46 0 R 47 0 R 48 0 R]
]
>>
请注意,链接注释的结构父项2旁边的条目是
27 0 R
。因此,请在您的文档中查找
27 0 R

27 0 obj
<<
/Type /StructElem
/S /Link
/P 26 0 R
/Pg 8 0 R
/Alt (Go to Google!)
/K [3 69 0 R]
>>
27 0 obj
>
请注意,在这个正确的示例中,它是具有子类型
/Link
的结构元素。如果您无法遵循此链,或者链顶部的对象不是链接结构元素