Merge Multiple PDF Buffers in Node JS
Let's See How We Can Merge PDF Buffers in
Node JS with "pdf-merger-js"
![]() |
PDF Merger JS - Education Funda |
For merging pdf buffers we should firstly have the buffers of each pdf and we can run loop than can add each buffer for create one single merge buffer.
If You Have HTML Files Which You Want to Convert to PDF Buffer and Create 1 Single Merge PDF
const getNoticesPreview = async (req,templateId) => {
const caseIdsArr = req.body.caseIds.split(",");
var merger = new mergePdfs();
for (let i = 0; i < caseIdsArr.length; i++) {
let caseId = caseIdsArr[i];
let caseDetails = await caseService.getCase(caseId);
let templateDetails = await templateService.getTemplate(templateId);
let options = { format: 'A4' };
let compiled = ejs.compile(fs.readFileSync(
__dirname + 'public' + templateDetails.templateFile, 'utf8'
));
let html = compiled({
adminDetails: caseDetails.adminDetails[0],
personalDetails: caseDetails.personalDetails[0],
loanDetails: caseDetails.loanDetails[0],
assetDetails: caseDetails.assetDetails[0],
});
let file = { content: html };
let pdfBuffer = await htmlToPdf.generatePdf(file, options);
await merger.add(pdfBuffer);
}
return await merger.saveAsBuffer();
}
![]() |
PDF Merger - Node JS |
Above I pasted my own 1 project code, Let me explain you.
- Suppose you have HTML files and you want to do this for it.
- In above code firstly I am reading HTML files dynamically via EJS node js package for complie version.
- Then here I'm using html-to-pdf package for generate pdf buffer.
- Before loop I'm initialising the PDF Merger object for creating new merge PDF buffer and adding new pdf buffer inside loop with merger.add(pdfBuffer).
- Finally saving it as new merger buffer with merger.saveAsBuffer(), which is predefined function of 'pdf-merger-js'.
I hope this blog will be helpful for you.
Enjoy Coding !!
Thanks
Comments
Post a Comment