PDF 参考(12.3.3,表 153)说大纲将具有 Dest 字典、A 字典或 SE 字典(带有可选的 Dest 字典)。我有一个只有 SE 字典的大纲文档。该参考将我引向结构层次结构(14.7.2),这就是我迷失的地方。结构项目可能有 Pg 字典,但我的没有(在递归遍历中,父母也没有)。所以我需要从 SE 字典中找出页码、页面偏移量和缩放(如果适用)。有任何想法吗?
谢谢!
PDF 参考(12.3.3,表 153)说大纲将具有 Dest 字典、A 字典或 SE 字典(带有可选的 Dest 字典)。我有一个只有 SE 字典的大纲文档。该参考将我引向结构层次结构(14.7.2),这就是我迷失的地方。结构项目可能有 Pg 字典,但我的没有(在递归遍历中,父母也没有)。所以我需要从 SE 字典中找出页码、页面偏移量和缩放(如果适用)。有任何想法吗?
谢谢!
结构树有一个有点特殊的根节点。它包含一些其他节点没有的条目。有一个称为ParentTree的条目用于定位对应于页面、注释和 XForms 的结构元素。请参阅14.7.2 结构层次结构和14.7.4.4 从内容项中查找结构元素。
页面和结构元素之间的引用是双向的,您应该在一个结构元素或其递归父元素之一中拥有 Pg 条目(据我所知,如果不是这种情况,文件可以被视为损坏),并且您将在页面字典中有一个名为 StructParents 的条目,其中包含与 ParentTree 结构中该页面对应的索引。
如果页面字典中缺少 StructParents 条目并且存在结构树,则文件很可能已损坏。“腐败”是指它包含的信息不一致,连贯等。
那么有两种方法可以使用这些信息。如果你有一个结构元素的引用,你应该能够通过使用 Pg 条目找到它所引用的页面。如果您有一个页面的引用,您应该能够通过使用 ParentTree 结构来使用其相应的结构元素。两个方向都应该出现在文件中,以使信息保持一致。