The document outline (bookmarks): a tree of outline items. A live view over the outline dictionary.
public sealed class PdfOutline
ISO 32000-2 §12.3.3, Table 150. Items walks the outline: each level's items in the order of their
First/Next chain, iteratively, with one visited set for the whole outline and a depth cap of 256 levels, so a
cycle (a Next back to an earlier sibling, a First back to an ancestor) or a very deep chain ends. The walk is kept
until a dictionary it read changes, and every item view (Children, Parent,
Level) reads its shape from the current walk, so an edit through any view or straight to the COS
objects shows in every view at the next read.
The walk checks the outline as it goes and reports, once per item: an item reached twice (OutlineCycle, Error), a level
deeper than the cap, a Last, Prev or Parent that disagrees with the chain (the chain wins), a missing or
non-string Title (read as empty), an item that is not a dictionary, a malformed C or F, both Dest and
A, an item with children but no non-zero Count (read as closed), a negative outline Count, and the
diagnostics of each item's destination and action, once per walk. In strict mode the walk throws the first of these.
kind:method, kind:property, kind:ctor. Press Esc to clear.CountGets the outline's Count as stored: the number of visible items at all levels; null when absent.DictionaryGets the outline dictionary.ItemsGets the outline's top-level items, each with its children.ReferenceGets the indirect reference to the outline dictionary, or null when it is direct.Add(String)Adds a top-level item titled title after the last one.Insert(Int32, String)Inserts a top-level item titled title at index.