NAME

PDF::Make::Layer - Optional Content Groups (PDF Layers)

SYNOPSIS

use PDF::Make::Layer;

my $doc = PDF::Make::Document->new;
my $page = $doc->add_page(612, 792);

# Create layers
my $dims = PDF::Make::Layer->create($doc, 'Dimensions');
my $notes = PDF::Make::Layer->create($doc, 'Annotations');
$notes->visible(0);  # hidden by default

# Write layer objects
$dims->write_to_doc($doc);
$notes->write_to_doc($doc);

# Register on page
$page->add_ocg($dims->res_name, $dims->write_to_doc($doc));
$page->add_ocg($notes->res_name, $notes->write_to_doc($doc));

# Draw on layers
my $c = PDF::Make::Canvas->new;
$c->begin_layer($dims->res_name)
  ->w(1)->RG(0, 0, 1)
  ->m(72, 72)->l(200, 72)->S
  ->end_layer;

$c->begin_layer($notes->res_name)
  ->BT->Tf('F1', 10)->Td(72, 100)->Tj('Note text')->ET
  ->end_layer;

$page->set_content($c->to_bytes);
$doc->to_file('layered.pdf');

CONSTANTS

STATE_ON (0) — layer visible
STATE_OFF (1) — layer hidden

METHODS

create($doc, $name)

Create a new layer on the document.

name()

Get the layer name.

res_name()

Get the resource name (e.g. "MC0") for use in content streams.

visible([$bool])

Get/set default visibility.

set_print_state($state)

Set print usage (STATE_ON or STATE_OFF).

set_view_state($state)

Set view usage.

set_export_state($state)

Set export usage.

write_to_doc($doc)

Write the OCG dictionary. Returns object number.

SEE ALSO

PDF::Make::Document, PDF::Make::Canvas

1 POD Error

The following errors were encountered while parsing the POD:

Around line 66:

Non-ASCII character seen before =encoding in '—'. Assuming UTF-8