org.apache.fop.pdf

## Class PDFOutline

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.PDFOutline

- All Implemented Interfaces:
    PDFWritable

      public class PDFOutline
      extends PDFObject

  This represents a single Outline object in a PDF, including the root Outlines object. Outlines provide the bookmark bar, usually rendered to the right of a PDF document in user agents such as Acrobat Reader.

  This work was authored by Kelly A. Campbell.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.pdf.PDFObject

      `log`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFOutline(String title, PDFReference action, boolean openItem)` Create a PDF outline with the title and action.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addOutline(PDFOutline outline)` Add a sub element to this outline.
    `void` | `getChildren(Set<PDFObject> children)`
    `void` | `setTitle(String t)` Set the title of this Outline object.
    `protected byte[]` | `toPDF()` Encodes the object as a byte array for output to a PDF file.

    - ### Methods inherited from class org.apache.fop.pdf.PDFObject

      `contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, output, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, supportsObjectStream, toPDFString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PDFOutline

          public PDFOutline(String title,
                            PDFReference action,
                            boolean openItem)

      Create a PDF outline with the title and action.
      Parameters:
        `title` - the title of the outline entry (can only be null for root Outlines obj)
        `action` - the action for this outline
        `openItem` - indicator of whether child items are visible or not

  - ### Method Detail

    - #### setTitle

          public void setTitle(String t)

      Set the title of this Outline object.
      Parameters:
        `t` - the title of the outline

    - #### addOutline

          public void addOutline(PDFOutline outline)

      Add a sub element to this outline.
      Parameters:
        `outline` - a sub outline

    - #### toPDF

          protected byte[] toPDF()

      Encodes the object as a byte array for output to a PDF file.
      Overrides:
        `toPDF` in class `PDFObject`
      Returns:
        PDF string

    - #### getChildren

          public void getChildren(Set<PDFObject> children)

      Overrides:
        `getChildren` in class `PDFObject`

Copyright © 2025 Apache Software Foundation. All rights reserved.