A utility for converting pdf to image, base64 or buffer format.
IMPORTANT NOTE: Please support this library by donating via PayPal, your help is much appreciated. Contributors are also welcome!
- node >= 14.x
- graphicsmagick
- ghostscript
Follow this guide to install the required dependencies.
npm install --save pdf2pic
import { fromPath } from "pdf2pic";
const options = {
density: 100,
saveFilename: "untitled",
savePath: "./images",
format: "png",
width: 600,
height: 600
};
const convert = fromPath("/path/to/pdf/sample.pdf", options);
const pageToConvertAsImage = 1;
convert(pageToConvertAsImage, { responseType: "image" })
.then((resolve) => {
console.log("Page 1 is now converted as image");
return resolve;
});More usage example can be found here.
Initialize PDF to image conversion by supplying a file path
Convert a specific page of the PDF to Image/Base64/Buffer by supplying a file path
fromPath(filePath, options)(page, convertOptions)- filePath - pdf file's path
- options - see options.
- page - page number to convert to an image
- convertOptions - see convertOptions.
Converts PDF to Image/Base64/Buffer by supplying a file path
fromPath(filePath, options).bulk(pages, convertOptions)- filePath - pdf file's path
- options - see options.
- pages - page numbers to convert to image
- set
pagesto-1to convert all pages pagesalso accepts an array indicating the page number e.g.[1,2,3]- also accepts number e.g.
1
- set
- convertOptions - see convertOptions
Set GraphicsMagick's subclass or path
fromPath(filePath, options).setGMClass(subClass)NOTE: should be called before calling convert() or bulk().
- filePath - pdf file's path
- options - see options.
- subClass - path to gm binary or set to true to use imagemagick
- set
subClassto true to use imagemagick - supply a valid path as
subClassto locate gm path specified
- set
Initialize PDF to image conversion by supplying a PDF buffer
Convert a specific page of the PDF to Image/Base64/Buffer by supplying a buffer
fromBuffer(buffer, options)(page, convertOptions)Functions same as fromPath(filePath, options)(page, convertOptions) only input is changed
Converts PDF to Image/Base64/Buffer by supplying a buffer:
fromBuffer(buffer, options).bulk(pages, convertOptions)Functions same as fromPath(filePath, options).bulk(pages, convertOptions) only input is changed
Set GraphicsMagick's subclass or path:
fromBuffer(buffer, options).setGMClass(subClass)Functions same as fromPath(filePath, options).setGMClass(subClass) only input is changed
Initialize PDF to image conversion by supplying a PDF base64 string.
Convert a specific page of the PDF to Image/Base64/Buffer by supplying a base64 string:
fromBase64(b64string, options)(page, convertOptions)Functions same as fromPath(filePath, options)(page, convertOptions) only input is changed.
Converts PDF to Image/Base64/Buffer by supplying a base64 string:
fromBase64(b64string, options).bulk(pages, convertOptions)Functions same as fromPath(filePath, options).bulk(pages, convertOptions) only input is changed.
Set GraphicsMagick's subclass or path:
fromBase64(b64string, options).setGMClass(subClass)Following are the options that can be passed on the pdf2pic api:
| option | default value | description |
|---|---|---|
| quality | 0 |
Image compression level. Value depends on format, usually from 0 to 100 (more info) |
| format | 'png' |
Formatted image characteristics / image format (image characteristics, image format) |
| width | 768 |
Output width |
| height | 512 |
Output height |
| density | 72 |
Output DPI (dots per inch) (more info) |
| savePath | './' |
Path where to save the output |
| saveFilename | 'untitled' |
Output filename |
| compression | 'jpeg' |
Compression method (more info) |
| option | default value | description |
|---|---|---|
| responseType | image |
Response type of the output. Accepts: image, base64 or buffer |
The parameter can also be a boolean, if true then the response type will be base64 and if false then the response type will be image.
This is deprecated and will be removed in the next major version.
- Fork it (https://github.com/yakovmeister/pdf2image/fork)
- Create your feature branch (git checkout -b feature/make-maintainer-cry)
- Commit your changes (git commit -am 'feature: make maintainer cry by running git rm -rf')
- Push to the branch (git push origin feature/make-maintainer-cry)
- Create a new PR
pdf2pic is MIT licensed.