Water Mark on File Type : PDF, JPEG, JPG, PNG, GIF, DOC, DOCX, XLS and XLSX Using C#
Water Mark on File Type : PDF, JPEG, JPG, PNG, GIF, DOC, DOCX, XLS and XLSX Using C#
--- On Click button for Convert --
-- start code --
string name = "";
name = "pdffile.pdf";
// Select File
string FILEATTACHMENT = "../../Upload/Attachments/pdffile.pdf";
// Add Font family and Font Size.
iTextSharp.text.Font f = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 25);
Phrase p = new Phrase("Printed by " + user, f);
if (ext == ".pdf" || ext == ".PDF")
{
string FilePath = FILEATTACHMENT.Replace(FILEATTACHMENT.Substring(0, 5), "~");
PdfReader pdfReader = new PdfReader(Server.MapPath(FilePath));
FileStream stream = new FileStream(Server.MapPath("~/Upload/PDFFolder/" + name), FileMode.OpenOrCreate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, stream);
for (int pageIndex = 1; pageIndex <= pdfReader.NumberOfPages; pageIndex++)
{
iTextSharp.text.Rectangle pageRectangle = pdfReader.GetPageSizeWithRotation(pageIndex);
PdfContentByte pdfData = pdfStamper.GetOverContent(pageIndex);
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 25);
PdfGState graphicsState = new PdfGState();
graphicsState.FillOpacity = 1.2F;
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(BaseColor.LIGHT_GRAY);
pdfData.BeginText();
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_CENTER, p, 130, 680, 45);
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_CENTER, p, 520, 680, 45);
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_CENTER, p, 130, 330, 45);
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_CENTER, p, 520, 330, 45);
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_CENTER, p, 230, 50, 45);
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 10);
graphicsState.FillOpacity = 0.8F;
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(BaseColor.RED);
ColumnText.ShowTextAligned(pdfData, Element.ALIGN_BOTTOM, p1, 18, 3, 0);
pdfData.EndText();
}
pdfStamper.Close();
stream.Close();
string sr1 = stream.Name;
FileInfo file = new FileInfo(sr1);
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.WriteFile(file.FullName);
Response.End();
}
else if (ext == ".JPEG" || ext == ".jpeg" || ext == ".JPG" || ext == ".jpg" || ext == ".png" || ext == ".PNG" || ext == ".GIF" || ext == ".gif")
{
string FilePath = FILEATTACHMENT.Replace(FILEATTACHMENT.Substring(0, 5), "~");
var image = new WebImage(Server.MapPath(FilePath));
image.AddTextWatermark("Printed by " + user, fontSize: 25, fontColor: "White", horizontalAlign: "Center", verticalAlign: "Middle", opacity: 70);
image.Save(Server.MapPath("~/Upload/PDFFolder/" + name));
string sr1 = image.FileName;
FileInfo file = new FileInfo(sr1);
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.WriteFile(file.FullName);
Response.End();
}
else if (ext == ".DOC" || ext == ".doc" || ext == ".DOCX" || ext == ".docx" || ext == ".xls" || ext == ".xlsx" || ext == ".XLS" || ext == ".XLSX")
{
string strURL = Server.MapPath(FILEATTACHMENT);
WebClient req = new WebClient();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.AddHeader("Content-Disposition", "attachment;filename=" + name);
byte[] data = req.DownloadData(strURL);
Response.BinaryWrite(data);
Response.End();
}
-- end code --
Comments
Post a Comment