使用itextSharp创建PDF,并插入图片功能

 string topPath = HttpContext.Current.Server.MapPath("~/ReportFile/LabelOutPut/");
string responsefileName = string.Format("{0}.pdf", fileName);
            string pdfsavePath = string.Format(topPath + responsefileName);
            var document = new iTextSharp.text.Document(new iTextSharp.text.Rectangle(283.0F, 425.0F), 0, 0, 0, 0);
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(pdfsavePath, FileMode.Create));
            document.Open();

            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage page;
            int rotation;
            ////读取图片
            //for (int j = 0; j < imageList.Length; j++)
            //{

            //    iTextSharp.text.Image mm = iTextSharp.text.Image.GetInstance(imageList[j]);
            //    //设置图片的位置
            //    mm.SetAbsolutePosition(50 + j, 50 + j);
            //    //设置图片的大小
            //    mm.ScaleAbsolute(50 + j, 50 + j);
            //}

            int i = 0;

            //循环要修改的PDF的页数
            while (i < imgs.Length)
            {

                //将拷贝过来的内容添加到模板上
                document.SetPageSize(new iTextSharp.text.Rectangle(283.0F, 425.0F));
                document.NewPage();
                //page = writer.GetImportedPage(reader, i);
                //rotation = 0;
                //if (rotation == 90 || rotation == 270)
                //{
                //    cb.AddTemplate(page, 0, -1f, 1f, 0, 0, 100);
                //}
                //else
                //{
                //    cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
                //}

                //在PDF第一页上面加上签名档


                iTextSharp.text.Image mm;
                PdfContentByte cb1 = writer.DirectContent;
                //创建一个新的模板,设置模板的大小
                PdfTemplate template1 = cb.CreateTemplate(425.0F, 283.0F);


                //mm = iTextSharp.text.Image.GetInstance(imageList[i]);
                var bytes = Convert.FromBase64String(imgs[i]);
                mm = iTextSharp.text.Image.GetInstance(bytes);
                //设置图片的位置
                //mm.SetAbsolutePosition(50, -10);
                mm.SetAbsolutePosition(0, 0);
                //设置图片的大小
                //mm.ScaleAbsolute(60, 60);

                mm.ScaleAbsolute(425, 283);

                template1.AddImage(mm);

                //设置添加模板的位置
                //cb1.AddTemplate(template1, 90, 50);
                cb1.AddTemplate(template1, 0, -1f, 1f, 0, 0, 425.0F);
                i++;
            }


            document.Close();
            writer.Close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值