zoukankan      html  css  js  c++  java
  • iTextSharp给PDF添加水印

       iTextSharp作为.net平台下操作PDF的组件功能强大,但是前端时间遇到了一个问题,动态生成PDF时(生成的PDF里面有多个表格,表格数据来自数据库),无法给每页都添加水印图片,可能是本人对iTextSharp组件不够了解,没有找到生成动态PDF时就给每页添加水印。最后只好先用iTextSharp生成PDF然后在用iTextSharp给生成好的PDF添加水印。如果园子里的朋友谁做过生成PDF时就给每页添加水印,可指点指点小弟。

      下面把iTextSharp给PDF添加水印的代码贴出来供大家参考。

      

      #region 每页加公章
                        string AreaCode = UnitInfoQueryBll.Instance.getAreaCode(currentUser.UINTID);
                        if (!string.IsNullOrEmpty(AreaCode))
                        {
                            int pages = document.PageNumber;
                            PdfReader reader = new PdfReader(HttpContextHelper.AppRootPath + pdfpath + pdfName + ".pdf");
                            int n = reader.NumberOfPages;
                            PdfStamper stamper = new PdfStamper(reader, new FileStream(HttpContextHelper.AppRootPath + pdfpath + pdfName + "a.pdf", FileMode.Create));
                            int j = 0;
                            PdfContentByte contentByte;
                            iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(imgePath + AreaCode + ".png");
                            img.ScalePercent(75f);
                            img.SetAbsolutePosition(300, 550);
                            while (j < n)
                            {
                                j++;
                                contentByte= stamper.GetOverContent(j);
                                contentByte.AddImage(img);
                            }
                            stamper.Close();
                            reader.Close();
    
                        }
       #endregion
  • 相关阅读:
    curl库使用文件传输
    linux 命令
    第三方库交叉编译
    指针越界
    GetWindowRect GetClientRect
    libevent
    C#关闭窗体
    C# log日志窗口
    C++同一时刻仅允许一个实例,包含多用户的场景。
    C# 引用类型
  • 原文地址:https://www.cnblogs.com/xiaobojy/p/3829720.html
Copyright © 2011-2022 走看看