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
`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
`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.