class HexaPDF::Document::Destinations

Parent
Included Modules

This class provides methods for creating and managing the destinations of a PDF file.

A destination describes a particular view of a PDF document, consisting of the page, the view location and a magnification factor. See Destination for details.

Such destinations may be directly specified where needed, e.g. for link annotations, or they may be named and later referenced through the name. This class allows to create destinations with or without a name.

See: PDF1.7 s12.3.2

Public Class Methods

new(document)

Creates a new Destinations object for the given PDF document.

Public Instance Methods

destinations[name] → destination

Returns the destination registered under the given name or nil if no destination was registered under that name.

add(name, destination)

Adds the given destination under name to the destinations name tree.

If the name does already exist, an error is raised.

create_fit_bounding_box(page) → dest
create_fit_bounding_box(page, name: nil) → name

Creates a new fit to bounding box destination array for the given arguments and returns it or, in case a name is given, the name.

The argument page is described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_bounding_box_horizontal(page, top: nil) → dest
create_fit_bounding_box_horizontal(page, name: nil, top: nil) → name

Creates a new fit bounding box horizontal destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments +page and top are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_bounding_box_vertical(page, left: nil) → dest
create_fit_bounding_box_vertical(page, name: nil, left: nil) → name

Creates a new fit bounding box vertical destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments +page and left are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_page(page) → dest
create_fit_page(page, name: nil) → name

Creates a new fit to page destination array for the given arguments and returns it or, in case a name is given, the name.

The argument page is described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_page_horizontal(page, top: nil) → dest
create_fit_page_horizontal(page, name: nil, top: nil) → name

Creates a new fit page horizontal destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments +page and top are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_page_vertical(page, left: nil) → dest
create_fit_page_vertical(page, name: nil, left: nil) → name

Creates a new fit page vertical destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments +page and left are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_fit_rectangle(page, left:, bottom:, right:, top:) → dest
create_fit_rectangle(page, name: nil, left:, bottom:, right:, top:) → name

Creates a new fit to rectangle destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments page, left, bottom, right and top are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

create_xyz(page, left: nil, top: nil, zoom: nil) → dest
create_xyz(page, name: nil, left: nil, top: nil, zoom: nil) → name

Creates a new xyz destination array for the given arguments and returns it or, in case a name is given, the name.

The arguments page, left, top and zoom are described in detail in the Destination class description.

If the argument name is given, the created destination array is added to the destinations name tree under that name for reuse later, overwriting an existing entry if there is one.

delete(name) → destination

Deletes the given destination from the destinations name tree and returns it or nil if no destination was registered under that name.

each {|name, dest| block } → destinations
each → Enumerator

Iterates over all named destinations of the PDF, yielding the name and the destination

wrapped into a Destination object.