<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.4.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PDFKit",
  "identifier" : "/documentation/PDFKit/PDFOutline",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PDFKit"
    ],
    "preciseIdentifier" : "c:objc(cs)PDFOutline"
  },
  "title" : "PDFOutline"
}
-->

# PDFOutline

A `PDFOutline` object is an element in a tree-structured hierarchy that can represent the structure of a PDF document.

```
class PDFOutline
```

## Overview

An outline is an optional component of a PDF document, useful for viewing the structure of the document and for navigating within it.

Outlines are created by the document’s author. If you represent a PDF document outline using outline objects, the root of the hierarchy is obtained from the PDF document itself. This root outline is not visible and serves merely as a container for the visible outlines.

## Topics

### Initializing an Outline

[`init()`](/documentation/PDFKit/PDFOutline/init())

Initializes a `PDFOutline` object.

### Getting Information About an Outline

[`document`](/documentation/PDFKit/PDFOutline/document)

Returns the document with which the outline is associated.

[`numberOfChildren`](/documentation/PDFKit/PDFOutline/numberOfChildren)

Returns the number of child outline objects in the outline.

[`parent`](/documentation/PDFKit/PDFOutline/parent)

Returns the parent outline object of the outline (returns `NULL` if called on the root outline object).

[`child(at:)`](/documentation/PDFKit/PDFOutline/child(at:))

Returns the child outline object at the specified index.

[`index`](/documentation/PDFKit/PDFOutline/index)

Returns the index of the outline.

### Managing Outline Labels

[`label`](/documentation/PDFKit/PDFOutline/label)

Returns the label for the outline.

### Managing Actions and Destinations

[`destination`](/documentation/PDFKit/PDFOutline/destination)

Returns the destination associated with the outline.

[`action`](/documentation/PDFKit/PDFOutline/action)

Returns the action performed when users click the outline.

### Changing an Outline Hierarchy

[`insertChild(_:at:)`](/documentation/PDFKit/PDFOutline/insertChild(_:at:))

Inserts the specified outline object at the specified index.

[`removeFromParent()`](/documentation/PDFKit/PDFOutline/removeFromParent())

Removes the outline object from its parent (does nothing if outline object is the root outline object).

### Managing the Disclosure of an Outline Object

[`isOpen`](/documentation/PDFKit/PDFOutline/isOpen)

Returns a Boolean value that indicates whether the outline object is initially disclosed.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)