Hey Vinoth548,
Please refer below sample for adding watermark.
For adding footer refer below article.
Namespaces
C#
using iTextSharp.text.pdf;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
VB.Net
Imports iTextSharp.text.pdf
Imports System.IO
Imports System.Drawing.Imaging
Imports System.Drawing
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
PdfStampInExistingFile("@aspsnippets.com");
}
private void PdfStampInExistingFile(string text)
{
string sourceFilePath = @"C:\Users\anand\Desktop\Test.pdf";
byte[] bytes = File.ReadAllBytes(sourceFilePath);
Bitmap bitmap = new Bitmap(200, 30, System.Drawing.Imaging.PixelFormat.Format64bppArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.White);
graphics.DrawString(text, new System.Drawing.Font("Arial", 12, FontStyle.Bold), new SolidBrush(Color.Red), new PointF(0.4F, 2.4F));
bitmap.Save(Server.MapPath("~/Image.jpg"), ImageFormat.Jpeg);
bitmap.Dispose();
var img = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Image.jpg"));
img.SetAbsolutePosition(200, 400);
PdfContentByte waterMark;
using (MemoryStream stream = new MemoryStream())
{
PdfReader reader = new PdfReader(bytes);
using (PdfStamper stamper = new PdfStamper(reader, stream))
{
int pages = reader.NumberOfPages;
for (int i = 1; i <= pages; i++)
{
waterMark = stamper.GetUnderContent(i);
waterMark.AddImage(img);
}
}
bytes = stream.ToArray();
}
File.Delete(Server.MapPath("~/Image.jpg"));
File.WriteAllBytes(sourceFilePath, bytes);
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
PdfStampInExistingFile("@aspsnippets.com")
End Sub
Private Sub PdfStampInExistingFile(ByVal text As String)
Dim sourceFilePath As String = "C:\Users\anand\Desktop\Test.pdf"
Dim bytes As Byte() = File.ReadAllBytes(sourceFilePath)
Dim bitmap As Bitmap = New Bitmap(200, 30, System.Drawing.Imaging.PixelFormat.Format64bppArgb)
Dim graphics As Graphics = graphics.FromImage(bitmap)
graphics.Clear(Color.White)
graphics.DrawString(text, New System.Drawing.Font("Arial", 12, FontStyle.Bold), New SolidBrush(Color.Red), New PointF(0.4F, 2.4F))
bitmap.Save(Server.MapPath("~/Image.jpg"), ImageFormat.Jpeg)
bitmap.Dispose()
Dim img = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Image.jpg"))
img.SetAbsolutePosition(200, 400)
Dim waterMark As PdfContentByte
Using stream As MemoryStream = New MemoryStream()
Dim reader As PdfReader = New PdfReader(bytes)
Using stamper As PdfStamper = New PdfStamper(reader, stream)
Dim pages As Integer = reader.NumberOfPages
For i As Integer = 1 To pages
waterMark = stamper.GetUnderContent(i)
waterMark.AddImage(img)
Next
End Using
bytes = stream.ToArray()
End Using
File.Delete(Server.MapPath("~/Image.jpg"))
File.WriteAllBytes(sourceFilePath, bytes)
End Sub
Screenshot
Before

After
