Creating a Template For Text Watermark
using System; using System.Collections.Generic; using System.Linq; using System.Text; using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; using System.Drawing; namespace ConsoleApplication1 { public static class GenrateStampingTemplate { public static void createTemplate(string StampSignautre, string stampFilename) { Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(stampFilename, FileMode.Create)); document.Open(); iTextSharp.text.Font font = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.COURIER, 22, iTextSharp.text.Font.NORMAL, new BaseColor(System.Drawing.Color.Blue)); ColumnText.ShowTextAligned(writer.DirectContent, Element.ALIGN_CENTER, new Phrase(StampSignautre, font), 297.5f, 421, 45); document.Close(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using iTextSharp.text.pdf; using System.IO; using iTextSharp.text; namespace ConsoleApplication1 { ////// This class is used to Put Watermark Text and Image on PDF Document /// public static class StampDocument { public static void PutTextWateMark(string path,string waterMarkTemplate) { byte[] _byte = File.ReadAllBytes(path); byte[] _templateBye = File.ReadAllBytes(waterMarkTemplate); PdfReader reader = new PdfReader(_byte); PdfStamper pdfStamper = new PdfStamper(reader, new FileStream(path, FileMode.Create)); PdfContentByte content; PdfReader templateReader = new PdfReader(_templateBye); PdfImportedPage page = pdfStamper.GetImportedPage(templateReader, 1); for (int i = 0; i < reader.NumberOfPages; i++) { content = pdfStamper.GetUnderContent(i+1); content.AddTemplate(page, 0, 0); } pdfStamper.Close(); templateReader.Close(); } public static void PutImageWaterMark(string path, string imagePath) { byte[] _byte = File.ReadAllBytes(path); PdfReader reader = new PdfReader(_byte); PdfStamper pdfStamper = new PdfStamper(reader, new FileStream(path, FileMode.Create)); Image img = Image.GetInstance(imagePath); PdfContentByte content; img.SetAbsolutePosition(200, 400); for (int i = 0; i < reader.NumberOfPages; i++) { content = pdfStamper.GetUnderContent(i+1); content.AddImage(img); } pdfStamper.Close(); } } }
//using custom Text GenrateStampingTemplate.createTemplate("Watermark", "d:\\CompanyStamp.pdf"); StampDocument.PutTextWateMark("d:\\test.pdf", "d:\\CompanyStamp.pdf"); //using image StampDocument.PutImageWaterMark("d:\\test.pdf", "d:\\test.img");