class final Core · roukmoute/pdf 0.6.2
PDF\Document\Structure\StructureTreeRootLogical-structure graph and document-local derived ParentTree/IDTree (PDF pages 564–577).Inheritance and contracts
Parent : PDF\Specification\SchemaDictionary
Interfaces : Countable, IteratorAggregate, PDF\Document\CatalogComponent, PDF\Syntax\FileStructure\BasicType, Stringable, Traversable
Definition in the specification
Table 322 · Entries in the structure tree root
ISO 32000-1:2008, §14.7.2 · PDF page 565 ↗
| Entry | PDF type | Source requirement | Table |
|---|---|---|---|
/Type | name | Required | 322 |
/K | dictionary or array | Optional | 322 |
/IDTree | name tree | Required if any structure elements have element identifiers | 322 |
/ParentTree | number tree | Required if any structure element contains content items | 322 |
/ParentTreeNextKey | integer | Optional | 322 |
/RoleMap | dictionary | Optional | 322 |
/ClassMap | dictionary | Optional | 322 |
Conditional descriptions remain traceable. A definition alone does not implement a codec, a signature or every format mechanism. Read the coverage.
Construction
__construct()
public function __construct(PDF\Syntax\DocumentStructure\PageTree\PageTreeNode $pages, PDF\Document\Structure\RoleMap $roleMap = new RoleMap(), PDF\Document\Structure\ClassMap $classMap = new ClassMap(), PDF\Document\Structure\StructureLimits $limits = new StructureLimits())Declared methods
addKid()
public function addKid(PDF\Document\Structure\StructureElement $element): selfcatalogEntries()
public function catalogEntries(PDF\Document\Structure\MarkInformation $markInformation): arrayExplicit catalog entries; the caller chooses its conformance statement and remaining catalog entries.
@return list<Entry>entries()
public function entries(): iterableindex()
public function index(): PDF\Document\Structure\StructureTreeIndexBuilds and validates all bidirectional associations before any graph bytes are emitted.invalidate()
public function invalidate(): void@internal Document-local cache invalidation when the attached hierarchy changes.kids()
public function kids(): array@return list<StructureElement>validateCatalog()
public function validateCatalog(PDF\Syntax\Object\DictionaryType $catalog): voidWriter integration: validates the actual catalog, including generic schema dictionaries.validateTagged()
public function validateTagged(PDF\Document\Structure\MarkInformation $markInformation): voidwith()
public function with(PDF\Syntax\Object\DictionaryObject\Entry $entry): staticwithout()
public function without(PDF\Syntax\Object\NameType|string $key): staticInherited methods
8 methods from parents and contracts
__toString()
public function __toString(): stringcount()
public function count(): intdefinition()
public function definition(): PDF\Specification\TableDefinitionget()
public function get(PDF\Syntax\Object\NameType|string $key): ?PDF\Syntax\FileStructure\BasicTypegetIterator()
public function getIterator(): Traversablehas()
public function has(PDF\Syntax\Object\NameType|string $key): booltoPdf()
public function toPdf(PDF\Serialization\SerializationContext $context): stringvalidate()
public function validate(): voidChecks unconditional requirements; conditional and inherited rules remain explicit.Properties
| Declaration | Origin and documentation |
|---|---|
public readonly PDF\Document\Structure\ClassMap $classMap | PDF\Document\Structure\StructureTreeRoot |
public readonly PDF\Document\Structure\StructureLimits $limits | PDF\Document\Structure\StructureTreeRoot |
public readonly PDF\Syntax\DocumentStructure\PageTree\PageTreeNode $pages | PDF\Document\Structure\StructureTreeRoot |
public readonly PDF\Document\Structure\RoleMap $roleMap | PDF\Document\Structure\StructureTreeRoot |
Constants
| Name | PHP value | Origin |
|---|---|---|
COMMON_TABLES | | PDF\Specification\SchemaDictionary |
TABLE | | PDF\Document\Structure\StructureTreeRoot |