iTextSharp动态生成多页pdf及追加内容等记录

1.初始化代码

string appDomainPath = AppDomain.CurrentDomain.BaseDirectory + @"\";
            if (isWebApp)
            {
                appDomainPath = System.Web.HttpRuntime.AppDomainAppPath + @"bin\";
            }
            string SavePath = string.Format(@"{0}pdfTemplate\{1}{2}.{3}", appDomainPath, saveFileName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), "pdf");
            string ImageLogoPath = string.Format(@"{0}pdfTemplate\{1}.{2}", appDomainPath, "logo", "jpg");
            string ImageLogoERcodePath = string.Format(@"{0}pdfTemplate\{1}.{2}", appDomainPath, "logoErcode", "png");

            using (Document document = new Document())
            {
                //中文字体
                string chinese = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "simhei.ttf");
                BaseFont baseFont = BaseFont.CreateFont(chinese, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
                //文字大小12,文字样式
                Font cn = new Font(baseFont, 12, Font.NORMAL);
                Font fontToLabel = new Font(baseFont, 10, Font.NORMAL, BaseColor.BLACK);
                Font fontToValue = new Font(baseFont, 12, Font.BOLD, BaseColor.BLACK);
                Font fontToValue8 = new Font(baseFont, 10, Font.BOLD, BaseColor.BLACK);
                Font fontLIGHT_GRAY = new Font(baseFont, 10, Font.NORMAL, BaseColor.LIGHT_GRAY);

                PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@SavePath, FileMode.Create));
                document.Open();
                PdfContentByte ConByte_Up = writer.DirectContent;//当前页
                #region header title

                //最后一个参数是颜色,这里可以是rgb格式,也可以是默认定义的
                Phrase Phr_HeaderTitle = new Phrase("x x 书", new Font(baseFont, 22, Font.BOLD, BaseColor.BLACK));
                ColumnText.ShowTextAligned(ConByte_Up, Element.ALIGN_CENTER, Phr_HeaderTitle, 300, 786, 0);

                //add logo
                Image imgLogo = Image.GetInstance(ImageLogoPath);
                AddImageToDoc(writer, imgLogo, 3, 744 + imgLogo.Height);

                Image imgLogoERcode = Image.GetInstance(ImageLogoERcodePath);
                AddImageToDoc(writer, imgLogoERcode, 510, 720 + imgLogo.Height, 0.4f);

                #endregion

                #region header 头部内容

                AddNewLable(dicTitle, "致:", "QHContactPerson", ConByte_Up, fontToLabel, fontToValue, 3, 720);

                AddNewLable(dicTitle, "我司", "JJCompanyNa", ConByte_Up, fontToLabel, fontToValue, 3, 690);
                AddNewLable(dicTitle, "委派", "kyename", ConByte_Up, fontToLabel, fontToValue, 180, 690);
                AddNewLable(dicTitle, "于", "GoodsTime", ConByte_Up, fontToLabel, fontToValue, 160 * 2, 690, 20);
                AddNewLable(dicTitle, "至贵处取货,请予以配合。", "", ConByte_Up, fontToLabel, fontToValue, 150 * 3, 690);
                #endregion


                float Tleft = 18f;
                float TcurrLableYSum = 792 - 72 * 2;
                float TcurrLabelWidth = 60f;
                float TcurrWidthAdd = 200f;
                float TcurrHeigthAdd = 25f;


                #region header 头部详细内容 792

                #region 加背影


                ConByte_Up.SetColorFill(BaseColor.LIGHT_GRAY);
                ConByte_Up.Rectangle(6, TcurrLableYSum - TcurrHeigthAdd * 4 + 15, 580, TcurrHeigthAdd * 4.3);
                ConByte_Up.Fill();
                ConByte_Up.Stroke();

                ConByte_Up.SetColorStroke(BaseColor.GRAY);
                ConByte_Up.MoveTo(TcurrWidthAdd + Tleft - 8, TcurrLableYSum + 20);
                ConByte_Up.SetLineDash(3f, 3f);
                ConByte_Up.LineTo(TcurrWidthAdd + Tleft - 8, TcurrLableYSum - TcurrHeigthAdd * 2 - 30);
                Con
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值