C#使用iTextSharp给PDF文件加水印

给PDF添加水印,可以用iTextSharp。

 

步骤1:下载iTextSharp

步骤2:在项目中添加引用itextsharp.dll

步骤3:在程序中使用iTextSharp.text.pdf

using iTextSharp.text.pdf;

 

步骤5:详细实现

 

        public static bool AddWatermark(string inputfilepath, string outputfilepath, string ModelPicName, float top, float left)
        {
            PdfReader pdfReader = null;
            PdfStamper pdfStamper = null;
            try
            {
                pdfReader = new PdfReader(inputfilepath);
                int numberOfPages = pdfReader.NumberOfPages;
                iTextSharp.text.Rectangle pagesize = pdfReader.GetPageSize(1);
                pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create));
                PdfContentByte waterMarkContent;
                iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(ModelPicName);
                image.GrayFill = 20;//透明度,灰色填充

                float waterLeft = pagesize.Width - image.Width - left;
                float waterTop = pagesize.Height - image.Height - top;
                image.SetAbsolutePosition(waterLeft, waterTop);

                for (int i = 1; i <= numberOfPages; i++)
                {
                    waterMarkContent = pdfStamper.GetOverContent(i);//.GetUnderContent(i);
                    waterMarkContent.AddImage(image);
                }
                return true;
            }
            catch (Exception ex)
            {
                ex.Message.Trim();
                return false;
            }
            finally
            {
                if (pdfStamper != null)
                    pdfStamper.Close();

                if (pdfReader != null)
                    pdfReader.Close();
            }
        }

 

posted @ 2018-03-16 13:15  Z语言  阅读(642)  评论(0编辑  收藏  举报