com.lowagie.text.pdf

## Class PdfOutline

- java.lang.Object
- - com.lowagie.text.pdf.PdfObject
  - - com.lowagie.text.pdf.PdfDictionary
    - - com.lowagie.text.pdf.PdfOutline

-     public class PdfOutline
      extends PdfDictionary

  `PdfOutline` is an object that represents a PDF outline entry.

  An outline allows a user to access views of a document by name.
  This object is described in the 'Portable Document Format Reference Manual version 1.3' section 6.7 (page 104-106)

  See Also:
    `PdfDictionary`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private PdfAction` | `action` The `PdfAction` for this outline.
    `private java.awt.Color` | `color` Holds value of property color.
    `private int` | `count` value of the Count-key
    `private PdfDestination` | `destination` value of the Destination-key
    `protected java.util.ArrayList` | `kids`
    `private boolean` | `open` Holds value of property open.
    `private PdfOutline` | `parent` value of the Parent-key
    `private PdfIndirectReference` | `reference` the `PdfIndirectReference` of this object
    `private int` | `style` Holds value of property style.
    `private java.lang.String` | `tag` Holds value of property tag.
    `protected PdfWriter` | `writer`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfDictionary

      `CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfObject

      `ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PdfOutline(PdfOutline parent, PdfAction action, Paragraph title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfAction action, Paragraph title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfAction action, PdfString title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfAction action, PdfString title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfAction action, java.lang.String title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfAction action, java.lang.String title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, Paragraph title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, Paragraph title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, PdfString title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, PdfString title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, java.lang.String title)` Constructs a `PdfOutline`.
    `PdfOutline(PdfOutline parent, PdfDestination destination, java.lang.String title, boolean open)` Constructs a `PdfOutline`.
    `PdfOutline(PdfWriter writer)` Constructs a `PdfOutline`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addKid(PdfOutline outline)` Adds a kid to the outline
    `java.awt.Color` | `getColor()` Getter for property color.
    `(package private) int` | `getCount()`
    `java.util.ArrayList` | `getKids()` Returns the kids of this outline
    `PdfDestination` | `getPdfDestination()` Gets the destination for this outline.
    `int` | `getStyle()` Getter for property style.
    `java.lang.String` | `getTag()` Getter for property tag.
    `java.lang.String` | `getTitle()` Gets the title of this outline
    `PdfIndirectReference` | `indirectReference()` Gets the indirect reference of this `PdfOutline`.
    `(package private) void` | `initOutline(PdfOutline parent, java.lang.String title, boolean open)` Helper for the constructors.
    `boolean` | `isOpen()` Getter for property open.
    `int` | `level()` returns the level of this outline.
    `PdfOutline` | `parent()` Gets the parent of this `PdfOutline`.
    `void` | `setColor(java.awt.Color color)` Setter for property color.
    `(package private) void` | `setCount(int count)`
    `boolean` | `setDestinationPage(PdfIndirectReference pageReference)` Set the page of the `PdfDestination`-object.
    `void` | `setIndirectReference(PdfIndirectReference reference)` Sets the indirect reference of this `PdfOutline`.
    `void` | `setKids(java.util.ArrayList kids)` Sets the kids of this outline
    `void` | `setOpen(boolean open)` Setter for property open.
    `void` | `setStyle(int style)` Setter for property style.
    `void` | `setTag(java.lang.String tag)` Setter for property tag.
    `void` | `setTitle(java.lang.String title)` Sets the title of this outline
    `void` | `toPdf(PdfWriter writer, java.io.OutputStream os)` Returns the PDF representation of this `PdfOutline`.

    - ### Methods inherited from class com.lowagie.text.pdf.PdfDictionary

      `contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size, toString`

    - ### Methods inherited from class com.lowagie.text.pdf.PdfObject

      `canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

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

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

- - ### Field Detail

    - #### reference

          private PdfIndirectReference reference

      the `PdfIndirectReference` of this object

    - #### count

          private int count

      value of the Count-key

    - #### parent

          private PdfOutline parent

      value of the Parent-key

    - #### destination

          private PdfDestination destination

      value of the Destination-key

    - #### action

          private PdfAction action

      The `PdfAction` for this outline.

    - #### kids

          protected java.util.ArrayList kids

    - #### writer

          protected PdfWriter writer

    - #### tag

          private java.lang.String tag

      Holds value of property tag.

    - #### open

          private boolean open

      Holds value of property open.

    - #### color

          private java.awt.Color color

      Holds value of property color.

    - #### style

          private int style

      Holds value of property style.

  - ### Constructor Detail

    - #### PdfOutline

          PdfOutline(PdfWriter writer)

      Constructs a `PdfOutline`.

      This is the constructor for the `outlines object`.

      Parameters:
        `writer` - The PdfWriter you are adding the outline to

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    java.lang.String title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    java.lang.String title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    java.lang.String title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    java.lang.String title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    PdfString title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    PdfString title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    PdfString title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    PdfString title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    Paragraph title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfAction action,
                    Paragraph title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `action` - the `PdfAction` for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    Paragraph title)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`. The open mode is `true`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item

    - #### PdfOutline

          public PdfOutline(PdfOutline parent,
                    PdfDestination destination,
                    Paragraph title,
                    boolean open)

      Constructs a `PdfOutline`.

      This is the constructor for an `outline entry`.

      Parameters:
        `parent` - the parent of this outline item
        `destination` - the destination for this outline item
        `title` - the title of this outline item
        `open` - `true` if the children are visible

  - ### Method Detail

    - #### initOutline

          void initOutline(PdfOutline parent,
                         java.lang.String title,
                         boolean open)

      Helper for the constructors.
      Parameters:
        `parent` - the parent outline
        `title` - the title for this outline
        `open` - `true` if the children are visible

    - #### setIndirectReference

          public void setIndirectReference(PdfIndirectReference reference)

      Sets the indirect reference of this `PdfOutline`.
      Parameters:
        `reference` - the `PdfIndirectReference` to this outline.

    - #### indirectReference

          public PdfIndirectReference indirectReference()

      Gets the indirect reference of this `PdfOutline`.
      Returns:
        the `PdfIndirectReference` to this outline.

    - #### parent

          public PdfOutline parent()

      Gets the parent of this `PdfOutline`.
      Returns:
        the `PdfOutline` that is the parent of this outline.

    - #### setDestinationPage

          public boolean setDestinationPage(PdfIndirectReference pageReference)

      Set the page of the `PdfDestination`-object.
      Parameters:
        `pageReference` - indirect reference to the page
      Returns:
        `true` if this page was set as the `PdfDestination`-page.

    - #### getPdfDestination

          public PdfDestination getPdfDestination()

      Gets the destination for this outline.
      Returns:
        the destination

    - #### getCount

          int getCount()

    - #### setCount

          void setCount(int count)

    - #### level

          public int level()

      returns the level of this outline.
      Returns:
        a level

    - #### toPdf

          public void toPdf(PdfWriter writer,
                   java.io.OutputStream os)
                     throws java.io.IOException

      Returns the PDF representation of this `PdfOutline`.
      Overrides:
        `toPdf` in class `PdfDictionary`
      Parameters:
        `writer` - the encryption information
        `os` -
      Throws:
        `java.io.IOException`

    - #### addKid

          public void addKid(PdfOutline outline)

      Adds a kid to the outline
      Parameters:
        `outline` -

    - #### getKids

          public java.util.ArrayList getKids()

      Returns the kids of this outline
      Returns:
        an ArrayList with PdfOutlines

    - #### setKids

          public void setKids(java.util.ArrayList kids)

      Sets the kids of this outline
      Parameters:
        `kids` -

    - #### getTag

          public java.lang.String getTag()

      Getter for property tag.
      Returns:
        Value of property tag.

    - #### setTag

          public void setTag(java.lang.String tag)

      Setter for property tag.
      Parameters:
        `tag` - New value of property tag.

    - #### getTitle

          public java.lang.String getTitle()

      Gets the title of this outline
      Returns:
        the title as a String

    - #### setTitle

          public void setTitle(java.lang.String title)

      Sets the title of this outline
      Parameters:
        `title` -

    - #### isOpen

          public boolean isOpen()

      Getter for property open.
      Returns:
        Value of property open.

    - #### setOpen

          public void setOpen(boolean open)

      Setter for property open.
      Parameters:
        `open` - New value of property open.

    - #### getColor

          public java.awt.Color getColor()

      Getter for property color.
      Returns:
        Value of property color.

    - #### setColor

          public void setColor(java.awt.Color color)

      Setter for property color.
      Parameters:
        `color` - New value of property color.

    - #### getStyle

          public int getStyle()

      Getter for property style.
      Returns:
        Value of property style.

    - #### setStyle

          public void setStyle(int style)

      Setter for property style.
      Parameters:
        `style` - New value of property style.