node-pdf-image

Provides an interface to convert PDF's pages to png files in Node.js by using ImageMagick

Github stars Tracking Chart

pdf-image

Provides an interface to convert PDF's pages to png files in Node.js
by using ImageMagick.

Installation

npm install pdf-image

Ensure you have convert, gs, and pdfinfo (part of poppler) commands.

Ubuntu

sudo apt-get install imagemagick ghostscript poppler-utils

OSX (Yosemite)

brew install imagemagick ghostscript poppler

Usage

Convert single page:

var PDFImage = require("pdf-image").PDFImage;

var pdfImage = new PDFImage("/tmp/slide.pdf");
pdfImage.convertPage(0).then(function (imagePath) {
  // 0-th page (first page) of the slide.pdf is available as slide-0.png
  fs.existsSync("/tmp/slide-0.png") // => true
});

Convert full file

var PDFImage = require("pdf-image").PDFImage;

var pdfImage = new PDFImage("/tmp/slide.pdf");
pdfImage.convertFile().then(function (imagePaths) {
  // [ /tmp/slide-0.png, /tmp/slide-1.png ]
});


Convert full file and merge result into single image

var PDFImage = require("pdf-image").PDFImage;
var pdfImage = new PDFImage("/tmp/slide.pdf", {
  combinedImage: true
});

pdfImage.convertFile().then(function (imagePaths) {
   // /tmp/slide.png 
});

Express

Following example shows an example of pdf-image in Express, which gives
URLs for each pages of a PDF like
http://example.com:3000/tmp/slide.pdf/0.png.

  app.get(/(.*\.pdf)\/([0-9]+).png$/i, function (req, res) {
    var pdfPath = req.params[0];
    var pageNumber = req.params[1];

    var PDFImage = require("pdf-image").PDFImage;
    var pdfImage = new PDFImage(pdfPath);

    pdfImage.convertPage(pageNumber).then(function (imagePath) {
      res.sendFile(imagePath);
    }, function (err) {
      res.send(err, 500);
    });
  });

Options

Following example shows an example of how to add imagemagick command-line options (you can find the complete list here -> http://www.imagemagick.org/script/convert.php):

var pdfImage = new PDFImage(pdfPath, {
  convertOptions: {
    "-resize": "2000x2000",
    "-quality": "75"
  }
});

Main metrics

Overview
Name With Ownermooz/node-pdf-image
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-11-05 16:55:58
Pushed At2020-03-20 18:33:20
Last Commit At2018-06-18 11:48:47
Release Count4
Last Release Namev1.1.0 (Posted on 2016-01-30 23:56:41)
First Release Namev1.0.0 (Posted on 2015-06-30 21:19:04)
用户参与
Stargazers Count235
Watchers Count9
Fork Count85
Commits Count52
Has Issues Enabled
Issues Count33
Issue Open Count28
Pull Requests Count16
Pull Requests Open Count9
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private