Jeremy Volkening > Poppler > Poppler

Download:
Poppler-1.0101.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Module Version: 1.0101   Source  

NAME ^

Poppler - Bindings to the poppler PDF rendering library

SYNOPSIS ^

  use Poppler;

  # initialize using filename 
  my $pdf = Poppler::Document->new_from_file( 'file.pdf' );

  # or, initialize using scalar data
  open my $fh, '<:raw', 'file.pdf';
  read ($fh, my $data, -s 'file.pdf')
  close $fh;
  my $pdf = Poppler::Document->new_from_data( $data );

  # get some general info
  my $n_pages = $pdf->get_n_pages;
  my $title   = $pdf->get_title; 
  # etc ...

  # get the first page
  my $page = $pdf->get_page( 0 );

  # get page size
  my ($w, $h)  = $page->get_size;

  # or, for backward compatibility
  my $dims = $page->get_size; # a Poppler::Dimension object
  my $w = $dims->get_width;
  my $h = $dims->get_height;

  # do other fancy things (get page links, annotations, movies, etc)
  # (see poppler-glib documentation for details)

  # render to a Cairo surface
  use Cairo;
  my $surface = Cairo::ImageSurface->create( 'argb32', 100, 100 );
  my $cr = Cairo::Context->create( $surface );
  $page->render_to_cairo( $cr );
  $cr->show_page;

ABSTRACT ^

Bindings to the poppler PDF library via the Glib interface. Allows querying of a PDF file structure and rendering to various output targets.

DESCRIPTION ^

The Poppler module provides complete bindings to the poppler PDF library through the Glib interface. Find out more about poppler at http://poppler.freedesktop.org.

As of version 1.01, no XS is used directly but bindings are provided using GObject introspection and the Glib::Object::Introspection module. See the "SYNOPSIS" in Poppler for a brief example of how the module can be used. For detailed documentation on the available classes and methods, see the poppler glib documentation for the C libraries and the Glib::Object::Introspection documentation for a description of how methods are mapped between the C libraries and the Perl namespace.

CONSTRUCTORS ^

new_from_file ($filename)

Takes a system path or URI to a PDF file as an argument and returns a Poppler::Document object. The poppler-glib library itself requires a full URI (e.g. "file:///home/user/file.pdf") but this module attempts to convert regular system paths if provided via the URI module.

new_from_data ($data)

Takes a PDF data chunk as an argument and returns a Poppler::Document object.

METHODS ^

For details on the classes and methods available beyond the constructors listed above, please refer to the canonical documentation for the C library listed under "SEE ALSO" in Poppler. A general discussion of how these classes and methods map to the Perl equivalents can be found in the Glib::Object::Introspection documentation. Generally speaking, a C function such as 'poppler_document_get_title' would map to 'Poppler::Document->get_title'.

Customizations and overrides

In order to make things more Perlish, Poppler customizes the API generated by Glib::Object::Introspection in a few spots:

SEE ALSO ^

AUTHORS ^

2009-2016 Cornelius , < cornelius.howl _at_ gmail.com >
2016-present Jeremy Volkening <jdv@base2bio.com>

COPYRIGHT AND LICENSE ^

Copyright (C) 2009-2016 by c9s (Cornelius) Copyright (C) 2016 by Jeremy Volkening

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: