Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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 having an uproarious good time at the Monastery: (6)
As of 2018-01-23 13:59 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (246 votes). Check out past polls.