wubzz / pdf-merge

Merge multiple PDF Files into a single PDF document
127 stars 32 forks source link

PDFMerge

Merge multiple PDF Files into a single PDF document supporting three output formats: Buffer, Stream, New file on disk.

Requirements

PDFMerge uses PDFtk to merge the documents and as such it is a requirement in order for PDFMerge to work. It will work on any platform supported by PDFtk. Starting from v1.0.0 a requirement of Node >= 4.0.0 is required as well. If you are stuck in the dark ages then npm i pdf-merge@0.1.1 should still work.

Installing PDFtk

Windows

Download and run the Installer.

Debian, Ubuntu

apt-get install pdftk

RPM

https://www.pdflabs.com/docs/install-pdftk-on-redhat-or-centos/

Syntax

PDFMerge(files, options)

files is expected to be an array of files (must be full path for each respective file) or objects.

The file object have the follow options:

options:

Examples

const PDFMerge = require('pdf-merge');

const files = [
    `${__dirname}/1.pdf`,
    `${__dirname}/2.pdf`,
    {file: `${__dirname}/protected.pdf`, inputPw: '_SeCrEt_'}
];

//Buffer (Default)
PDFMerge(files)
.then((buffer) => {...});

//Stream
PDFMerge(files, {output: 'Stream'})
.then((stream) => {...});

//Save as new file
PDFMerge(files, {output: `${__dirname}/3.pdf`})
.then((buffer) => {...});