- Add a link to PDF with an external destination
- Add a link with an internal destination to PDF
- Add a note to PDF
- Add barcodes to PDF
- Add bookmarks to PDF
- Add footer to PDF
- Add simple html text to PDF
- Add hyperlink to PDF
- Add Long Term Validation (LTV) data to an existing signature
- Add multiline text to a PDF document
- Add a rubber stamp annotation with a custom icon
- Add single-line text to PDF
- Add Stamp to PDF
- Add tags to existing PDF
- Add text field to PDF
- Add a Diagonal Watermark to PDF in C# - TallComponents - PDF Library
- pdfkit5 - detailed changes to the API - Tall Components
- Append two or more existing PDF files
- Change the color inside a PDF
- Change the formatting of a numeric field
- Change page orientation PDF
- Clip PDF page content in C#
- .NET Core console app on MacOS
- Convert PDF to plain text
- Convert SVG to PDF
- Create a text annotation in PDF with rich text
- Create formfields in PDF documents
- Create a new digitally signed PDF document
- Create rectangles with rounded corners
- Create tagged PDF
- Create text with decorations
- How to create a tiling for shapes in PDF
- Crop content on a PDF page
- Determine the content bounding box
- Determine if a PDF only contains images
- Digitally sign a PDF form in C# or VB.NET
- Disable submit button after submitting
- How to downscale all images in a PDF
- Download and convert image to PDF
- How to downscale all images in a PDF
- Vector graphics in PDF
- Fill XFA form and export XDP data
- Fill and save dynamic XFA form
- Merge XDP data with dynamic XFA form
- Dynamic XFA
- How to embed files in a PDF document
- Embed TrueType font in PDF
- EMF to PDF as vector image
- Export FDF from PDF form
- Extract embedded files from PDF
- Extract glyph boxes from PDF
- Extract glyphs and sort by reading order
- Extract graphics from PDF
- Extract images from PDF
- Fill in a template PDF document
- Fill PDF form
- Fit image to PDF page
- Flatten Markup Annotation
- Flatten PDF form
- How to generate and export certificates
- How do I extract page destinations from bookmarks?
- Highlight fields in PDF
- How to add autosized text to PDF
- How to sign and verify updates to a PDF document
- Import FDF into PDF
- Licensing and .NET Standard
- Merge PDF files in C# .NET
- How to mirror PDF pages and other shapes
- Layout text with MultilineTextShape
- pdfkit5 and .NET Core
- pdfkit5 .NET Standard API
- Read and write meta data from PDF
- Read PDF tags
- How to reduce PDF file size
- Reduce PDF size
- Remove graphics from PDF
- Remove PDF security settings
- Replace field with image
- Resize PDF pages
- Rotate a PDF page
- How to scale content of PDF
- Search text in PDF
- PDF Viewer Preferences
- Create a custom signature handler to sign and verify PDF documents
- Split PDF pages in C# and VB.NET
- Tagged PDF
- TIFF to PDF C#
- Translate PDF page content
- Use multiple licenses
- Use TrueType font collections
- Write Document to HttpResponse
- Use pdfkit5 with a Xamarin.Forms app
- pdfkit5 and Xamarin
Add a Diagonal Watermark to PDF in C#
C# add watermark to pdf Code Sample
With PDFKit.NET 4.0 & PDFKit.NET 5.0 you can create and manipulate PDF documents. Split, append, stamp, encrypt, extract, fill and more.
This code sample shows how to add a diagonal watermark to an existing PDF in C#.
C# add watermark to pdf Code Sample
static void Main(string[] args)
{
using (FileStream sourceFile =
new FileStream("original.pdf", FileMode.Open, FileAccess.Read))
{
// open the document
Document pdf = new Document(sourceFile);
foreach (Page page in pdf.Pages)
{
// stamp each page
addWatermark(page);
}
// save the modified pdf
using (FileStream targetFile =
new FileStream("watermarked.pdf", FileMode.Create, FileAccess.Write))
{
pdf.Write(targetFile);
}
}
}
.NET add watermark to pdf Code Sample
Using sourceFile As New FileStream("..\..\input.pdf", FileMode.Open, FileAccess.Read)
' open the document
Dim pdf As New Document(sourceFile)
For Each page As Page In pdf.Pages
' stamp each page
addWatermark(page)
Next
' save the modified pdf
Using targetFile As New FileStream("..\..\output.pdf", FileMode.Create, FileAccess.Write)
pdf.Write(targetFile)
End Using
End Using
The following method adds the watermark to PDF in C#.
static void addWatermark(Page page)
{
// calculate the page diagonal
double diagonal = Math.Sqrt(page.Height * page.Height + page.Width * page.Width);
// format the text
TextShape watermark = new TextShape();
watermark.Text = "Diagonal watermark";
watermark.Font = Font.CourierBold;
watermark.Pen = new Pen(RgbColor.Red, 2);
watermark.Brush = null;
watermark.FontSize = 1; // recalculated below
// calculate font size so to fit the diagonal of the page - 0.8 is a fuzzy factor
watermark.FontSize *= 0.8 * (diagonal / watermark.MeasuredWidth);
// transform the text so that it runs diagonal across the page
TransformCollection transforms = new TransformCollection();
transforms.Add(new TranslateTransform(0, -0.5 * watermark.MeasuredHeight));
transforms.Add(new TranslateTransform((diagonal - watermark.MeasuredWidth) / 2, 0));
transforms.Add(new RotateTransform(-(180 / Math.PI) * Math.Atan2(page.Height, page.Width)));
watermark.Transform = transforms;
page.Overlay.Add(watermark);
}
Private Sub addWatermark(page As Page)
' calculate the page diagonal
Dim diagonal As Double = Math.Sqrt(page.Height * page.Height + page.Width * page.Width)
' format the text
Dim watermark As New TextShape()
watermark.Text = "Diagonal watermark"
watermark.Font = Font.CourierBold
watermark.Pen = New Pen(RgbColor.Red, 2)
watermark.Brush = Nothing
watermark.FontSize = 1
' recalculated below
' calculate font size so to fit the diagonal of the page - 0.8 is a fuzzy factor
watermark.FontSize *= 0.8 * (diagonal / watermark.MeasuredWidth)
' transform the text so that it runs diagonal across the page
Dim transforms As New TransformCollection()
transforms.Add(New TranslateTransform(0, -0.5 * watermark.MeasuredHeight))
transforms.Add(New TranslateTransform((diagonal - watermark.MeasuredWidth) / 2, 0))
transforms.Add(New RotateTransform(-(180 / Math.PI) * Math.Atan2(page.Height, page.Width)))
watermark.Transform = transforms
page.Overlay.Add(watermark)
End Sub
More C#PDF watermark code samples?
Check out other C# Watermark code samples: