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

Popular posts from this blog

Tree view in winforms using c#

how to Replace null value with 0 Using C#

how to fetch all HTML Table Records and modify all records accordingly using jquery and Javascript