WooCommerce PDF Watermark allows you to stamp/watermark eBooks and other PDF downloadable files with custom text or images to prevent and identify unauthorized sharing.
You can also protect PDF files further by enabling copy, print and modification protection, as well as password-protecting your files.
Requirements
↑ Back to top- Hosting server must have FPDF installed
- PDF Version should be 1.4 and under
- PDF should contain no layers
Certain hosting environments use security settings that prevent PDF Watermark from working properly. If you encounter difficulty, manually upload your PDF file via FTP to your site’s root folder.
Installation
↑ Back to top- Download the .zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
- Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.
Setup and Configuration
↑ Back to topGlobal Setup
↑ Back to topGlobal settings apply to all PDF downloads in your store, and you can disable or changes some of these at the Product and Variation level.
Go to WooCommerce > Settings > PDF Watermark.

- Watermark Type – The type of watermark you want to apply to PDF downloads, you can either choose an image watermark, or a text watermark.
- Watermark Image – The url to a locally uploaded image to use as the watermark. You can use the WordPress Media Uploader to upload images and then simply copy the URL. Media > Add New in the WordPress admin area.
- Watermark Text – The text to use for text based watermarks, you can use a list of predefined tags to personalize the text based on the customer who is downloading the file. If the supplied tags is not sufficient, you can hook into the wc_pdf_watermark_parse_template_tags filter to define your own tags.
- Font – The font to use for text watermarks.
- Font Size – The size of the font to use for text watermarks.
- Font Style – Whether you want the text to be bold, italics or underlined.
- Font Color – Color of the font to use for text watermarks.
- Watermark Opacity – This controls the transparency of the watermark text or image, 0 = fully transparent, 1 = fully opaque.
- Horizontal Position – Horizontal location where the watermark must be placed.
- Vertical Position – Vertical position where the watermark must be placed.
- Horizontal Offset – If you require extra padding to the left and right of your text or image you can specify that here, you can use positive and negative numbers.
- Vertical Offset – If you require extra padding to the top and bottom of your text or image you can specify that here, you can use positive and negative numbers.
- Display on pages – On what pages you would like the watermarks to display, you can choose between All, First, Last, Alternate. Alternate will put it on every other page.
Note: Font size and offsets are all set in pt unit.
Advanced Settings
↑ Back to topAdvanced settings allow you to add further protection by applying certain PDF protection standards to the documents.

- Password Protection – Password-protest the PDF, so customers need to use the email on their order to open the files.
- Copy Protection – Prohibit any form of copying from the PDF file.
- Print Protection – Prohibit printing of PDF downloads.
- Modification Protection – Prohibit the modification of any PDF downloads.
- Annotation Protection – Prohibit any for of annotations on any of the PDF downloads.
Product/Variation Settings
↑ Back to topProduct and Variation specific settings are only available on downloadable products and variations.
WooCommerce PDF Watermark allows you to disable or override certain Global settings on a product and variation level, meaning you can have more control over what PDF files you want watermarked and even set different text or image watermarks for different products.


- Disable – Whether or not this product should be watermarked
- Override – Should this product be watermarked with custom watermark settings.
- Watermark Type – The type of watermark to apply to this product.
- Watermark Image – URL of the image to use as the watermark for this product.
- Watermark Text – Text to use as the watermark for this product, you can use a list of predefined tags to personalize the text based on the customer who is downloading the file. If the supplied tags is not sufficient, you can hook into the wc_pdf_watermark_parse_template_tags filter to define your own tags.
Customization
↑ Back to topWooCommerce PDF Watermark can be extended using hooks and filters, giving developers ultimate control to do almost anything they like with the extension without touch existing code.
Adding more tags to text watermarks
↑ Back to topThe extension comes with tags that can be used to personalize text watermarks based on customer details. This is extendible, allowing you to add your own tags if you wish.
Below is an example of how to add more tags, namely how to add a {product_title} tag:
Supported tags
↑ Back to top- {first_name} – The billing first name
- {last_name} – The billing last name
- {email} – The billing email address
- {order_number} – The order numbers
- {order_date} – The order date
- {site_name} – The name of your site as defined in the WordPress settings page
- {site_url} – The URL of your site
Change password used for protecting PDF downloads
↑ Back to topIf you have password protection enabled on your PDF files, it will use the billing email of the customer as the password. However you can change that password by using:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Snippet to change password used for protecting PDF download | |
* Code goes in the functions.php file in your theme. | |
*/ | |
function wc_pdf_watermark_change_pdf_password( $order_id, $product_id ) { | |
// Use the order number for the password instead of the billing email | |
$order = wc_get_order( $order_id ); | |
return $order->get_order_number(); | |
} | |
add_filter( 'woocommerce_pdf_watermark_file_password', 'wc_pdf_watermark_change_pdf_password' ); |