使用ITextSharp对pdf文件打水印

阅读更多
在项目中需要对pdf文件中的部分信息进行遮挡隐藏,于是找到了ITextSharp,使用非常方便
由于时间稍久已经不记得当时借鉴的哪位前辈代码,请谅解。

PdfReader pdfReader = null;
            PdfStamper pdfStamper = null;
            FileStream fileStream = null;
            try
            {
                pdfReader = new PdfReader(filePath);
                fileStream = new FileStream(outfilePath, FileMode.Create);
                pdfStamper = new PdfStamper(pdfReader, fileStream);
                int total = pdfReader.NumberOfPages;
                iTextSharp.text.Rectangle psize = pdfReader.GetPageSize(1);
                PdfContentByte content;  

                #region 添加水印信息
                //遮挡身份证
                //iTextSharp.text.Image jia_identity = iTextSharp.text.Image.GetInstance(imgInfoPath);
                //jia_identity.SetAbsolutePosition(180, 695);  //水印的位置
                //content = pdfStamper.GetOverContent(2);  //要放置的页数
                //content.AddImage(jia_identity);

                //遮挡姓名
                //iTextSharp.text.Image yi_name = iTextSharp.text.Image.GetInstance(imgInfoPath);
                //yi_name.SetAbsolutePosition(210, 655);  //水印的位置
                ////yi_name.ScalePercent(4f);  //图片比例
                //content = pdfStamper.GetOverContent(2);  //要放置的页数
                //content.AddImage(yi_name);
                #endregion
                
                //增加隐形文本域,方便iphone5的 ios10版本看到甲乙双方的签名数据
                TextField yi_sign = new TextField(pdfStamper.Writer, new iTextSharp.text.Rectangle(460, 430, 461, 431), "date");
                yi_sign.BackgroundColor = BaseColor.WHITE;
                yi_sign.BorderWidth = 1;
                yi_sign.BorderColor = BaseColor.BLACK;
                yi_sign.BorderStyle = 4;
                yi_sign.FontSize = 11f;
                pdfStamper.AddAnnotation(yi_sign.GetTextField(), 9);
                pdfStamper.FormFlattening = true;

                return true;
            }
            catch (Exception ex)
            {
                WebAPIHelper.RecordOperationLog("转换pdf文件出错:", ex.Message);
                return false;
            }
            finally
            {
                #region 释放资源
                if (pdfStamper != null)
                {
                    pdfStamper.Close();
                }
                if (pdfReader != null)
                {
                    pdfReader.Close();
                }
                if (fileStream != null)
                {
                    fileStream.Close();
                    fileStream.Dispose();
                }
                #endregion
            }
  • iTextSharp.zip (1.8 MB)
  • 下载次数: 0

你可能感兴趣的:(c#)