npm install image-to-pdf
const { convert, sizes } = require('image-to-pdf');
const fs = require('fs')
const pages = [
"./pages/image1.jpeg", // path to the image
"data:image/png;base64,iVBORw...", // base64
fs.readFileSync('./pages/image3.png') // Buffer
]
convert(pages, sizes.A4).pipe(fs.createWriteStream('output.pdf'))
import imageToPDF, { sizes } from 'image-to-pdf';
import fs from 'fs';
let pages = fs.readdirSync('./img').map(file => `./img/${file}`);
imageToPDF(pages, sizes.A4).pipe(fs.createWriteStream('output-esm.pdf'));
const imageToPDF = require('image-to-pdf').default;
const fs = require('fs');
let pages: string[] = fs.readdirSync('./img').map((file: string) => `./img/${file}`);
// Alternatively you can also pass the size as a string like this:
imageToPDF(pages, 'A4').pipe(fs.createWriteStream('output-ts.pdf'));
The only accepted image formats are png
and jpeg
. They can be passed to the function as base64
, Buffer
or simply as a path to the file (see Example).
A list of all size presets in sizes
can be found here. A custom size can be passed to the function simply as [x, y]
.
The function returns a Stream
(see official documentation). The easiest way to get a file is to pipe
it into a WriteStream
(see Example).