Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
In today's modern enterprise, Word Documents are synonymous with information and carry important information between divisions and companies. However, with digital documents, there is also the risk of someone tampering with or forging an invalid or fake Word document.
As such, one way to combat it is to add watermarks to Word documents. However, this doesn't increase the security of a Word document. A watermark allows primary differentiation between the actual Word document and the forged one. Furthermore, adding a watermark programmatically is quite challenging, as most instances require users to manually use Microsoft Word and add a watermark on each document, making it a painstakingly long process.
Fortunately, IronWord can programmatically add images as watermarks in Word. This allows developers to add them in the pipeline programmatically, reducing repetitive work and increasing efficiency and consistency.
Although there are various kinds of watermarks, such as shape watermark and text watermark, this article will only use image and picture watermarks, discuss IronWord as a library, and provide practical examples of adding images to the Word document.
IronWord is a reliable and easy-to-use C# Docx library that allows developers to build and edit Word documents using C# without relying on traditional dependencies such as Microsoft Office or Word Interop.
Furthermore, it has extensive documentation and fully supports .NET 8, 7, 6, Framework, Core, and Azure. This makes it cross-platform compatible with most applications and flexible no matter the application you are dealing with.
Please remember that IronWord requires a licensing key for operation. You can get a key as part of a free trial by visiting this link.
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
After receiving a trial key, set this variable in your project.
Let's examine an example of adding an image watermark to a Word Document. We won't mention static void main to reduce repetitive code but will showcase only the main code.
We will use this image as the watermark image and add it to the Word document.
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Create a new Word document
WordDocument doc = new WordDocument();
// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels
// Add the image as a watermark to the document
doc.AddImage(image);
// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Create a new Word document
WordDocument doc = new WordDocument();
// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels
// Add the image as a watermark to the document
doc.AddImage(image);
// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"
' Create a new Word document
Dim doc As New WordDocument()
' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")
' Set the width and height of the image
image.Width = 500 ' In pixels
image.Height = 250 ' In pixels
' Add the image as a watermark to the document
doc.AddImage(image)
' Save the document as a .docx file
doc.SaveAs("documentImageResized.docx")
WordDocument
. This is the document class from IronWord. In the next steps, we create a new variable called doc
and add the picture watermark to it.Image
class.AddImage
.documentImageResized
as a Word file.The output of the Word document is below.
Keep in mind that the dimensions set in the example are made to fit the whole Word document and display IronWord's capabilities.
In addition to adding the image, we can use the WrapText
property to ensure that the image watermark stays behind the text in the background.
// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
' Set the image to wrap behind the text
image.WrapText = WrapText.BehindText
Through this property, the image watermark should wrap behind the text, only showing in the background, allowing the text to be unhindered.
Furthermore, developers can try more customizations for the image watermark to make it unique. IronWord allows you to offset the dimensions of the image relative to the Word document and manage the position of the image watermark as well.
using IronWord;
using IronWord.Models;
// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Create a new Word document
WordDocument doc = new WordDocument();
// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);
// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels
// Set the image position using the ElementPosition object
image.Position = elementPosition;
// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
using IronWord;
using IronWord.Models;
// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";
// Create a new Word document
WordDocument doc = new WordDocument();
// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");
// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);
// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels
// Set the image position using the ElementPosition object
image.Position = elementPosition;
// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
Imports IronWord
Imports IronWord.Models
' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"
' Create a new Word document
Dim doc As New WordDocument()
' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")
' Create an ElementPosition object to set the position
Dim elementPosition As New ElementPosition()
elementPosition.SetXPosition(50)
elementPosition.SetYPosition(50)
' Set the dimensions of the image
image.Width = 50 ' In pixels
image.Height = 50 ' In pixels
' Set the image position using the ElementPosition object
image.Position = elementPosition
' Offset the image from each side by 100 pixels
image.DistanceFromTop = 100
image.DistanceFromBottom = 100
image.DistanceFromLeft = 100
image.DistanceFromRight = 100
Similar to the code above, we set the dimensions of the image's x and y locations to 50. We also offset the dimensions from each side by 100px to create a margin around it.
Throughout the examples, we demonstrated how straightforward it is to use the IronWord library to manipulate and read Word documents programmatically in C#. The library's flexibility and scalability make it a valuable tool that allows developers to use IronWord in practical, real-life examples, such as adding a watermark and a text watermark. It's essential to grasp how Word works with other applications because it provides developers with additional solutions to their challenges.
IronWord offers a free trial license.
Adding a watermark to Word documents helps differentiate between authentic documents and forged ones, though it doesn't enhance document security.
The article focuses on image and picture watermarks, providing practical examples of how to add them using IronWord.
IronWord is a C# Docx library that allows developers to build and edit Word documents programmatically without relying on Microsoft Office or Word Interop.
IronWord supports .NET 8, 7, 6, Framework, Core, and Azure, making it cross-platform compatible.
Yes, IronWord requires a licensing key for operation. A trial key can be obtained from the IronWord website.
You load the image into an IronWord Image class, set its dimensions, and then add it to a Word document using the AddImage method.
Yes, IronWord allows you to set the x and y positions of the image and offset the dimensions from each side by a desired pixel value.
By setting the WrapText property of the image to WrapText.BehindText, the image will appear behind the text as a background watermark.
IronWord enhances efficiency and consistency by allowing developers to programmatically add watermarks in their workflow, reducing repetitive tasks.