打开现有的pdf,并插入一个图片

不说了,直接代码

T_ScanUploadData file = _IScanUploadDataAccessService.GetScanUploadData(id);
            byte[] filedata = FineUploaderUtil.DownloadData(file.SignDocPath);
            
            string filename = Server.MapPath("//pictemp/") + "downSignDoc.pdf";
            //using (Stream inputPdfStream = new FileStream(@"d:UsersAdministratorDesktopxml111.pdf", FileMode.Open, FileAccess.Read, FileShare.Read))
            //using (Stream inputImageStream = new FileStream(@"d:UsersAdministratorDesktopxmlmyimage.jpg", FileMode.Open, FileAccess.Read, FileShare.Read))
            using (Stream outputPdfStream = new FileStream(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.None)) {
                var reader = new PdfReader(filedata);
                var stamper = new PdfStamper(reader, outputPdfStream);
                var pdfContentByte = stamper.GetOverContent(1);

                iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(BarCodeHelper.MakeBarcodeImage(barcode, 1, true), BaseColor.WHITE);

                image.SetAbsolutePosition(430, 730);
                pdfContentByte.AddImage(image);
                stamper.Close();

                Stream outputStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.None);
                int length = (int)outputStream.Length;
                byte[] data = new byte[length];
                outputStream.Position = 0;
                outputStream.Read(data, 0, length);
                MemoryStream ms = new MemoryStream(data);

                Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + file.OrderNo + "." + System.IO.Path.GetExtension(file.SignDocPath));
                Response.BinaryWrite(ms.ToArray());
                Response.End();
                ms.Close();
                ms = null;

            }

用的iTextSharp。

原文地址:https://www.cnblogs.com/brantshi/p/4301245.html