The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PDF::API2::Outline - Manage PDF outlines (a.k.a. bookmarks)

SYNOPSIS

    # Get/create the top-level outline tree
    my $outline = $pdf->outline();

    # Add an entry
    my $item = $outline->outline();
    $item->title('First Page');
    $item->destination($pdf->open_page(1));

METHODS

Examine the Outline Tree

has_children

    my $boolean = $outline->has_children();

Return true if the current outline item has child items.

count

    my $integer = $outline->count();

Return the number of descendants that are visible when the current outline item is open (expanded).

first

    my $child = $outline->first();

Return the first child of the current outline level, if one exists.

last

    my $child = $outline->last();

Return the last child of the current outline level, if one exists.

parent

    my $parent = $outline->parent();

Return the parent of the current item, if not at the top level of the outline tree.

prev

    my $sibling = $outline->prev();

Return the previous item of the current level of the outline tree.

next

    my $sibling = $outline->next();

Return the next item of the current level of the outline tree.

Modify the Outline Tree

outline

    my $child = $outline->outline();

Add an outline item at the end of the current outline's list of children.

insert_after

    my $sibling = $outline->insert_after();

Add an outline item immediately following the current item.

insert_before

    $sibling = $outline->insert_before();

Add an outline item immediately preceding the current item.

delete

    $outline->delete();

Remove the current outline item from the outline tree. If the item has any children, they will effectively be deleted as well since they will no longer be linked.

is_open

    # Get
    my $boolean = $outline->is_open();

    # Set
    my $outline = $outline->is_open($boolean);

Get/set whether the outline is expanded or collapsed.

Set Outline Attributes

title

    # Get
    my $title = $outline->title();

    # Set
    $outline = $outline->title($text);

Get/set the title of the outline item.

destination

    $outline = $outline->destination($destination, $location, @args);

Set the destination page and optional position of the outline. $location and @args are as defined in "destination" in PDF::API2::NamedDestination.

$destination can optionally be the name of a named destination defined elsewhere.

uri

    $outline = $outline->uri($uri);

Launch a URI -- typically a web page -- when the outline item is activated.

launch

    $outline->launch($file);

Launch an application or file when the outline item is activated.

pdf

    $outline = $outline->pdf($filename, $page_number, $location, @args);

Open another PDF file to a particular page number (first page is zero, which is also the default). The page can optionally be positioned at a particular location if $location and @args are set -- see "destination" in PDF::API2::NamedDestination for possible settings.