Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Count pages of PDF file

by bimleshsharma (Beadle)
on Jul 05, 2011 at 06:19 UTC ( #912757=perlquestion: print w/replies, xml ) Need Help??
bimleshsharma has asked for the wisdom of the Perl Monks concerning the following question:

How to count pages of PDF file?.

Replies are listed 'Best First'.
Re: Count pages of PDF file
by davido (Archbishop) on Jul 05, 2011 at 08:38 UTC

    That's about the only easy thing you can do with a PDF (aside from unlink()). Here's how to get a page count.

    use PDF::API2; my $pdf = PDF::API2->open( 'yourfile.pdf' ); my $count = $pdf->pages(); print "O frabjous day! The PDF has $count pages. Callooh! Callay!\n";


    Update: Well, in my excitement, having just done some painful work with PDF's a few days ago, I jumped on an answer, not realizing that you (the OP) followed up to your own node with a mostly similar solution. ...except that yours keeps a running total of total pages across multiple PDF files. I didn't see that need in the original question. But now I'm wondering what just happened here: If you already know the answer why did you post the question to Seekers of Perl Wisdom. Is there something more you would like us to add to your solution? :)


Re: Count pages of PDF file
by ambrus (Abbot) on Jul 05, 2011 at 06:47 UTC

    Install xpdf. Run the pdfinfo utility on the pdf you want. Read its output. It has a line like Pages: 150 which should give you the number of pages.

Re: Count pages of PDF file
by bimleshsharma (Beadle) on Jul 05, 2011 at 06:23 UTC

    We can do like this..

    use PDF::API2;
    foreach $doc (@ARGV)
    $pdf = PDF::API2->open($doc);
    $pages = $pdf->pages;
    $totalpages += $pages;
    print "$doc contains $pages pages\n";
    print "Total pages of pdf pages = $totalpages\n";
Re: Count pages of PDF file
by Anonymous Monk on Jul 05, 2011 at 10:35 UTC
Re: Count pages of PDF file
by chrestomanci (Priest) on Jul 05, 2011 at 20:00 UTC

    You could install pdftk for your platform and then use:

    pdftk <filename> dump_data

    It will emit 11 lines of metadata about the file. The last item is the page count.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://912757]
Approved by Marshall
Front-paged by toolic
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2017-10-23 22:03 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (285 votes). Check out past polls.