PDF-API2
view release on metacpan or search on metacpan
lib/PDF/API2.pm view on Meta::CPAN
visible.
=item * optional_content
Show the optional content group panel.
=item * attachments
Show the attachments panel.
=back
=cut
sub page_mode {
my $self = shift();
unless (@_) {
return 'none' unless $self->{'catalog'}->{'PageMode'};
my $mode = $self->{'catalog'}->{'PageMode'}->val();
return 'none' if $mode eq 'UseNone';
return 'outlines' if $mode eq 'UseOutlines';
return 'thumbnails' if $mode eq 'UseThumbs';
return 'full_screen' if $mode eq 'FullScreen';
return 'optional_content' if $mode eq 'UseOC';
return 'attachments' if $mode eq 'UseAttachments';
warn "Unknown page mode: $mode";
return $mode;
}
my $name = shift() // 'none';
my $mode = ($name eq 'none' ? 'UseNone' :
$name eq 'outlines' ? 'UseOutlines' :
$name eq 'thumbnails' ? 'UseThumbs' :
$name eq 'full_screen' ? 'FullScreen' :
$name eq 'optional_content' ? 'UseOC' :
$name eq 'attachments' ? 'UseAttachments' : '');
croak "Invalid page mode: $name" unless $mode;
$self->{'catalog'}->{'PageMode'} = PDFName($mode);
$self->{'pdf'}->out_obj($self->{'catalog'});
return $self;
}
=head2 viewer_preferences
# Get
%preferences = $pdf->viewer_preferences();
# Set
$pdf = $pdf->viewer_preferences(%preferences);
Get or set PDF viewer preferences, as described in
L<PDF::API2::ViewerPreferences>.
=cut
sub viewer_preferences {
my $self = shift();
require PDF::API2::ViewerPreferences;
my $prefs = PDF::API2::ViewerPreferences->new($self);
unless (@_) {
return $prefs->get_preferences();
}
return $prefs->set_preferences(@_);
}
# Deprecated; the various preferences have been split out into their own methods
sub preferences {
my ($self, %options) = @_;
# Page Mode Options
if ($options{'-fullscreen'}) {
$self->page_mode('full_screen');
}
elsif ($options{'-thumbs'}) {
$self->page_mode('thumbnails');
}
elsif ($options{'-outlines'}) {
$self->page_mode('outlines');
}
else {
$self->page_mode('none');
}
# Page Layout Options
if ($options{'-singlepage'}) {
$self->page_layout('single_page');
}
elsif ($options{'-onecolumn'}) {
$self->page_layout('one_column');
}
elsif ($options{'-twocolumnleft'}) {
$self->page_layout('two_column_left');
}
elsif ($options{'-twocolumnright'}) {
$self->page_layout('two_column_right');
}
else {
$self->page_layout('single_page');
}
# Viewer Preferences
if ($options{'-hidetoolbar'}) {
$self->viewer_preferences(hide_toolbar => 1);
}
if ($options{'-hidemenubar'}) {
$self->viewer_preferences(hide_menubar => 1);
}
if ($options{'-hidewindowui'}) {
$self->viewer_preferences(hide_window_ui => 1);
}
if ($options{'-fitwindow'}) {
$self->viewer_preferences(fit_window => 1);
}
if ($options{'-centerwindow'}) {
$self->viewer_preferences(center_window => 1);
}
if ($options{'-displaytitle'}) {
$self->viewer_preferences(display_doc_title => 1);
}
if ($options{'-righttoleft'}) {
$self->viewer_preferences(direction => 'r2l');
}
( run in 2.711 seconds using v1.01-cache-2.11-cpan-5fbc6bb55f2 )