Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Perl module to create PDF files

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 eg
Octocat-spinner-32 lib
Octocat-spinner-32 t
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGES
Octocat-spinner-32 MANIFEST.SKIP
Octocat-spinner-32 Maintenance-Howto
Octocat-spinner-32 Makefile.PL
Octocat-spinner-32 README
Octocat-spinner-32 pdf-logo.svg

    PDF::Create - create PDF files


    PDF::Create allows you to create PDF documents using a large
    number of primitives, and emit the result as a PDF file or
    stream. PDF stands for Portable Document Format.

    Documents can have several pages, a table of content, an
    information section and many other PDF elements. More
    functionnalities will be added as needs arise.

    Documents are constructed on the fly so the memory footprint is
    not tied to the size of the pages but only to their number.

    It's main advantage over the other PDF modules is that it does
    not depend on other modules and is perl only (no compiler needed).
    If you want a quick and dirty way of creating pdf's, PDF::Create
    is for you. If you need a complete Framework to create complex
    PDF stuff, you better dive into the PDF::API2 based modules.
    More information about this module is included in this package.


        use PDF::Create;

        my $pdf = new PDF::Create('filename' => 'mypdf.pdf',
                                  'Version'  => 1.2,
                                  'PageMode' => 'UseOutlines',
                                  'Author'   => 'Fabien Tassin',
                                  'Title'    => 'My title',
        my $root = $pdf->new_page('MediaBox' => [ 0, 0, 612, 792 ]);

        # Add a page which inherits its attributes from $root
        my $page = $root->new_page;

        # Prepare 2 fonts
        my $f1 = $pdf->font('Subtype'  => 'Type1',
                            'Encoding' => 'WinAnsiEncoding',
                            'BaseFont' => 'Helvetica');
        my $f2 = $pdf->font('Subtype'  => 'Type1',
                            'Encoding' => 'WinAnsiEncoding',
                            'BaseFont' => 'Helvetica-Bold');

        # Prepare a Table of Content
        my $toc = $pdf->new_outline('Title' => 'Document',
                                    'Destination' => $page);
        $toc->new_outline('Title' => 'Section 1');
        my $s2 = $toc->new_outline('Title' => 'Section 2');
        $s2->new_outline('Title' => 'Subsection 1');

        $page->stringc($f2, 40, 306, 426, "PDF::Create");
        $page->stringc($f1, 20, 306, 396, "version $PDF::Create::VERSION");

        # Add another page
        my $page2 = $root->new_page;
        $page2->line(0, 0, 612, 792);
        $page2->line(0, 792, 612, 0);

        $toc->new_outline('Title' => 'Section 3');
        $pdf->new_outline('Title' => 'Summary');

        # Add something to the first page
        $page->stringc($f1, 20, 306, 300,
                       'by Fabien Tassin <>');

        # Add the missing PDF objects and a the footer then close the file


    Quick answer:

        perl -MCPAN -e 'install PDF::Create'

    Long answer:

    To install manually, cd to the directory containing the unpacked
    distribution and do one of the following:

    a.  Create a makefile by running Makefile.PL using the perl
        program into whose library you want to install and then run
        make three times:

            perl Makefile.PL
            make test
            make install

    b.  To install into a private library, for example your home

            perl Makefile.PL INSTALLSITELIB=$HOME/lib INSTALLMAN3DIR=$HOME/man
            make test
            make pure_install


    - Fabien Tassin

    Original Author of PDF::Create

    - Markus Baertschi,

    I have taken over maintenence of PDF::Create as Fabien has disappeared
    and did no longer maintain it in the last years.
    The last version of PDF::Create from Fabien is 0.06. All never versions
    have been modified by me.

    I maintain PDF::Create in git. You can access the repository directly

Something went wrong with that request. Please try again.