Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Count pages of PDF file

by bimleshsharma (Beadle)
on Jul 05, 2011 at 06:19 UTC ( [id://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 (Cardinal) 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";

    PDF::API2

    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? :)


    Dave

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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://912757]
Approved by Marshall
Front-paged by toolic
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (7)
As of 2024-03-28 21:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found