# `PdfElixide.Document.OutlineItem`
[🔗](https://github.com/r8/pdf_elixide/blob/v0.16.0/lib/pdf_elixide/document/outline_item.ex#L1)

A single item (bookmark) in a PDF document's outline — its table of contents.

Outline items form a tree: each item carries a `:title`, an optional
destination, and a list of nested `:children` (sub-bookmarks). The document's
outline is the list of top-level items returned by `PdfElixide.Document.outline/1`.

The `:dest` field is where the item points, as one of:

  * `{:page, page_index}` — a zero-based page index within the document
  * `{:named, name}` — a named destination that could not be resolved to a
    page index (the raw name string is preserved)
  * `nil` — the item has no determinable destination

Named destinations are surfaced only when they could not be resolved;
resolvable ones arrive as `{:page, page_index}`.

# `dest`

```elixir
@type dest() :: {:page, non_neg_integer()} | {:named, String.t()} | nil
```

Where an outline item points.

# `t`

```elixir
@type t() :: %PdfElixide.Document.OutlineItem{
  children: [t()],
  dest: dest(),
  title: String.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
