PDF::Builder::Outline - Manage PDF outlines (a.k.a. bookmarks)
# Get/create the top-level outline tree
my $outlines = $pdf->outline();
# Add an entry
my $item = $outlines->outline();
$item->title('First Page');
$item->dest($pdf->open_page(1), fit-def);
- $outline = PDF::Builder::Outline->new($api, $parent, $prev)
- Returns a new outline object (called from
$outlines->outline()).
- $boolean = $outline->has_children()
- Return true if the current outline item has children (child items).
- $integer = $outline->count()
- Return the number of descendants that are visible when the current outline
item is open (expanded).
- $child = $outline->first()
- Return the first child of the current outline level, if one exists.
- $child = $outline->last()
- Return the last child of the current outline level, if one exists.
- $parent = $outline->parent()
- Return the parent of the current item, if not at the top level of the
outline tree.
- $sibling = $outline->prev()
- Return the previous item of the current level of the outline tree.
- $sibling = $outline->next()
- Return the next item of the current level of the outline tree.
- $child_outline = $parent_outline->outline()
- Returns a new sub-outline (nested outline) added at the end of the current
outline's children.
- $sibling = $outline->insert_after()
- Add an outline item immediately following the current item.
- $sibling = $outline->insert_before()
- Add an outline item immediately preceding the current item.
- $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.
- $boolean = $outline->is_open() # Get
- $outline = $outline->is_open($boolean) # Set
- Get/set whether the outline is expanded (open) or collapsed (closed).
- $outline->open()
- Set the status of the outline to open (i.e., expanded).
This is an alternate method to using is_open(true).
- $outline->closed()
- Set the status of the outline to closed (i.e., collapsed).
This is an alternate method to using
is_open(false).
- $title = $outline->title() # Get
- $outline = $outline->title($text) # Set
- Get/set the title of the outline item.
- $outline->dest($page_object, %position)
- $outline->dest($page_object)
- Sets the destination page and optional position of the outline.
%position can be any of those listed
in "Page Fit Options" in PDF::Builder::Docs.
"xyz" is the default fit setting, with
position (left and top) and zoom the same as the calling page's.
- $outline->dest($name, %position)
- $outline->dest($name)
- Connect the Outline to a "Named Destination" defined elsewhere,
and optional positioning as described above.
- $outline->uri($url)
- Defines the outline as launch-url with url $url,
typically a web page.
Alternate name:
"url"
Either "uri" or
"url" may be used;
"uri" is for compatibility with
PDF::API2.
- $outline->launch($file)
- Defines the outline as launch-file with filepath
$file. This is typically a local application or
file.
Alternate name:
"file"
Either "launch" or
"file" may be used;
"launch" is for compatibility with
PDF::API2.
- $outline->pdf($pdffile, $page_number, %position, %args)
- $outline->pdf($pdffile, $page_number)
- Defines the destination of the outline as a PDF-file with filepath
$pdffile, on page $pagenum
(default 0), and position %position (same as
dest()).
Alternate names:
"pdf_file" and
"pdfile"
Either "pdf" or
"pdf_file" (or the older
"pdfile") may be used;
"pdf" is for compatibility with
PDF::API2.