For the complete documentation index, see llms.txt. This page is also available as Markdown.

Add Watermark to PDF using JavaScript

Requirements

These packages are required to use these features in production. Trial keys have unlimited access to all features

Package: SecurityLive demo

Adding text or an image as a watermark on top of a document requires only a few lines of code using the setWatermark method of DocumentViewer. This method allows you to pass an options object to draw text on top of the document or pass a custom function which will be executed with a reference to the page canvas.

Draw text as watermark

To draw a watermark, use documentViewer.setWatermark and pass an options object as shown below.

Draw custom content as watermark

The setWatermark method also allows you to draw custom content on the page. To do this, pass a custom function to the API as a part of the options object.

For the following sample, we will use a Promise which will resolve with the watermark options object. If the document hasn't been loaded yet then DocumentViewer will wait to finish loading it until the watermark options are ready.

Draw watermark text in custom positions

The setWatermarkcustom argument can also be used to draw text in custom positions.

Draw watermark without DocumentViewer

If you're constructing your own Document instance then it also provides a setWatermark method.

Draw watermark dynamically

If you want to add a watermark or modify the existing watermark after pages are rendered, then after calling setWatermark you will also need to call the refreshAll and the updateView methods of DocumentViewer.

If you are going to use a Promise then you need to call those two methods after the Promise has resolved:

Adjust Watermark Quality

The WebViewer SDK includes a setWatermarkRenderQuality(multiplier) API to provide finer control over how watermarks are rendered when using the setWatermark API. This can be useful when downloading or printing using embedded printing, where rasterization artifacts can occur.

This API allows you to adjust the rasterization multiplier used during watermark rendering. By increasing the multiplier, you can enhance the output quality of the watermark, which can reduce pixelation or blurriness.

You can call this API from either the DocumentViewer or Document namespaces. To apply the quality setting globally to all documents in your app, call it from the DocumentViewer. If you only want to apply it to a specific document, call it directly on that document instance.

Last updated

Was this helpful?