3.3 KiB
3.3 KiB
title | description | type | page_title | slug | tags | res_type | ticketid |
---|---|---|---|---|---|---|---|
Adding a Watermark to PDF Files Using RadPdfProcessing | Learn how to add custom watermarks to PDF documents using the RadPdfProcessing library. | how-to | How to Add Watermarks to PDF Documents with RadPdfProcessing | add-watermark-pdf-radpdfprocessing | radpdfprocessing, document processing, watermark, pdf, text watermark | kb | 1653970 |
Environment
Version | Product | Author |
---|---|---|
2024.2.426 | RadPdfProcessing | Desislava Yordanova |
Description
This KB article demonstrates how to add a text watermark across all pages of a PDF document using RadPdfProcessing.
Solution
To add a watermark to PDF pages using RadPdfProcessing, follow these steps:
- Import the PDF document using [PdfFormatProvider]({%slug radpdfprocessing-formats-and-conversion-pdf-pdfformatprovider%}).
- Iterate through each page of the document.
- Use [FixedContentEditor]({%slug radpdfprocessing-editing-fixedcontenteditor%}) to add a watermark text block to each page.
- Customize the watermark's text properties, color, and position.
- Export the document with watermarks back to a PDF file.
Here is a complete code snippet demonstrating these steps:
static void Main(string[] args)
{
string fileName = "sample.pdf";
PdfFormatProvider provider = new PdfFormatProvider();
RadFixedDocument document = provider.Import(File.ReadAllBytes(fileName));
foreach (RadFixedPage page in document.Pages)
{
AddWatermarkText(page, "Watermark text!", 100);
}
string exportFileName = "testWatermarks.pdf";
File.Delete(exportFileName);
File.WriteAllBytes(exportFileName, new PdfFormatProvider().Export(document));
ProcessStartInfo psi = new ProcessStartInfo()
{
FileName = exportFileName,
UseShellExecute = true
};
Process.Start(psi);
}
private static void AddWatermarkText(RadFixedPage page, string text, byte transparency)
{
FixedContentEditor editor = new FixedContentEditor(page);
Block block = new Block();
block.TextProperties.FontSize = 80;
block.TextProperties.TrySetFont(new FontFamily("Arial"), FontStyles.Normal, FontWeights.Bold);
block.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
block.GraphicProperties.FillColor = new RgbColor(transparency, 255, 0, 0);
block.InsertText(text);
double angle = -45;
editor.Position.Rotate(angle);
editor.Position.Translate(0, page.Size.Width);
editor.DrawBlock(block, new Size(page.Size.Width / Math.Abs(Math.Sin(angle)), double.MaxValue));
}
See Also
- [FixedContentEditor]({%slug radpdfprocessing-editing-fixedcontenteditor%})
- SDK Example: Add Watermark