Justin
Justin

Reputation: 2404

Find PDF page count with Node (on Windows)

I did a lot of research (I guess not enough?) and am trying to find an easy to use library to find the page count of a PDF using Node.js. The library would need to be usable on a Windows OS.

Anyone know how best to approach this? Worst case situation, I was thinking about doing something with PhantomJS and the PDF.js library.

Thanks for any help!!

Upvotes: 7

Views: 8344

Answers (2)

Julius B
Julius B

Reputation: 151

In its current version you get the total pages via pdf2json's Pages array:

stream.pipe(new PDFParser())
  .on('pdfParser_dataReady', (data) => {
    const pageCount = data && data.formImage && data.formImage.Pages && data.formImage.Pages.length ? data.formImage.Pages.length : 0;
    console.log(pageCount);
  })

Upvotes: 1

Andrew Lavers
Andrew Lavers

Reputation: 8141

Since it's built on pdf.js, pdf2json it should work in windows.

I managed to find the page count of a test document like so:

var PDFParser = require('pdf2json');
var pdfParser = new PDFParser();

pdfParser.on('pdfParser_dataReady', function(data) {
    var doc = data.PDFJS && data.PDFJS.pdfDocument && data.PDFJS.pdfDocument.numPages;
    console.log('Number of pages:', doc);
});
// pdfParser.on('pdfParser_dataError', _.bind(_onPFBinDataError, self));

pdfParser.loadPDF('test.pdf');

Upvotes: 6

Related Questions