1.3.0 • Published 5 years ago
pdf-merge-multistamp v1.3.0
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 pdftkRPM
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:
fileFull path of PDF fileinputPwPassword to decrypt a PDF Optional!
options:
libPathShould only be provided if pdftk is not in yourPATHOptional!outputDefaults toBuffer. ValuesBuffer,Stream, and path to a new file are accepted. Optional!multistampShould only be provided if multistamp is used Optional!getMetaShould only be provided to get single file meta Optional!execOptionsThis is an optional string where you can pass additional argument to pdftk, for example compress. For the complete list see the docu of the pdftk
Examples 1
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) => {...});Examples 2
const PDFMerge = require('pdf-merge');
const files = [
`${__dirname}/1.pdf`
];
//Applies each page of the stamp PDF to the corresponding page of the input PDF
PDFMerge(files, {multistamp: `${__dirname}/stamp.pdf`, output: `${__dirname}/3.pdf`})
.then((buffer) => {...});Examples 2
const PDFMerge = require('pdf-merge');
const files = [
`${__dirname}/1.pdf`
];
//Applies each page of the stamp PDF to the corresponding page of the input PDF
PDFMerge(files, {getMeta: true})
.then((meta) => {...});