Skip to content Skip to sidebar Skip to footer

How To Add Watermark In Pdf Using Nodejs?

I generated pdf through nodejs. i want to add watermark to this generated pdf. I used dynamic-html-pdf plugins in my code. If there is any options for adding watermark in dynamic-h

Solution 1:

After saving your pdf document. Use image-watermark module to append a watermark to your generated pdf.

var watermark = require('image-watermark'); 
watermark.embedWatermark('/path/to/your/generated/pdf', {'text' : 'sample watermark'});

Solution 2:

Another solution to add text watermark in PDF document is Aspose.PDF Cloud SDK for Node.js. It is a commercial product but provides 150 free monthly API calls.

Currently, it supports the PDF file processing from Cloud Storages: Aspose internal storage, Amazon S3, DropBox, Google Drive Storage, Google Cloud Storage, Windows Azure Storage and FTP Storage. However, we have a plan to add support to process PDF documents from the request body(stream).

P.S: I'm a developer evangelist at Aspose.

const { PdfApi } = require("asposepdfcloud");
const { TextStamp }= require("asposepdfcloud/src/models/textStamp");
const { TextState }= require("asposepdfcloud/src/models/textState");
const { HorizontalAlignment }= require("asposepdfcloud/src/models/horizontalAlignment");
const { VerticalAlignment }= require("asposepdfcloud/src/models/verticalAlignment");
const { Rotation }= require("asposepdfcloud/src/models/rotation");


// Get Client Id and Client Secret from https://dashboard.aspose.cloud/
pdfApi = newPdfApi("xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxx");
var fs = require('fs');

const name = "Test.pdf";
const pageNumber = 1;
const remoteTempFolder = "Temp";
const localTestDataFolder = "C:\\Temp";
const path = remoteTempFolder + "\\" + name;
var data = fs.readFileSync(localTestDataFolder + "\\" + name);

// Upload File
pdfApi.uploadFile(path, data).then((result) => {  
                     console.log("Uploaded File");    
                    }).catch(function(err) {
    // Deal with an errorconsole.log(err);
});

// Add Text Stampconst textState = newTextState();
textState.fontSize = 14;
textState.font = 'Arial';

const stamp = newTextStamp();
stamp.background = true;
stamp.leftMargin = 1;
stamp.rightMargin = 2;
stamp.topMargin = 3;
stamp.bottomMargin = 4;
stamp.horizontalAlignment = HorizontalAlignment.Center;
stamp.verticalAlignment = VerticalAlignment.Center;
stamp.opacity = 1;
stamp.rotate = Rotation.None;
stamp.rotateAngle = 0;
stamp.xIndent = 0;
stamp.yIndent = 0;
stamp.zoom = 1;
stamp.textAlignment = HorizontalAlignment.Center;
stamp.value = "Aspose.PDF Cloud";
stamp.textState = textState;

pdfApi.postPageTextStamps(name, pageNumber,[stamp], null, remoteTempFolder).then((result) => {    
    console.log(result.body.code);                  
}).catch(function(err) {
    // Deal with an errorconsole.log(err);
});
//Download fileconst localPath = "C:/Temp/textstamp.pdf";

pdfApi.downloadFile(path).then((result) => {    
    console.log(result.response.statusCode);    
    console.log(result.body.byteLength);    
    fs.writeFileSync(localPath, result.body);
    console.log("File Downloaded");    
}).catch(function(err) {
    // Deal with an errorconsole.log(err);
});

Post a Comment for "How To Add Watermark In Pdf Using Nodejs?"