itextsharp добавление изображения в существующий pdf

Я пытаюсь добавить изображение, используя itextsharp, но не повезло, есть тонна учебников для добавления изображения в новый pdf-документ, но нет и существующего pdf, так что .add menthod не является avaivlable

Я пытаюсь использовать метод stamper write для добавления изображения, и я не получаю никаких ошибок, но изображение не появляется

PdfReader reader = new PdfReader(pdfIn); //get pdf if (File.Exists(pdfOut)) File.Delete(pdfOut); //reset FileStream fs = new FileStream(pdfOut, FileMode.Create); PdfStamper stamper = new PdfStamper(reader, fs); try { // Convert base64string to bytes array Byte[] bytes = Convert.FromBase64String(base64decode); iTextSharp.text.Image sigimage = iTextSharp.text.Image.GetInstance(bytes);// sigimage.SetAbsolutePosition(10, 10); sigimage.ScaleToFit(140f, 120f); stamper.Writer.Add(sigimage); }catch (DocumentException dex){//log exception here }catch (IOException ioex){//log exception here } AcroFields fields = stamper.AcroFields; //repeat for each pdf form fill field fields.SetField("agencyName", name.Value); stamper.FormFlattening = true; // set to true to lock pdf from being editable stamper.Writer.CloseStream = true; stamper.Close(); reader.Close(); fs.Close(); 

Я думаю, вы попробуете следующее добавить его к байтам

  PdfReader reader = new PdfReader(pdfIn) FileStream fs = new FileStream(pdfOut, FileMode.Create); var stamper = new PdfStamper(reader, fs); var pdfContentByte = stamper.GetOverContent(1); iTextSharp.text.Image sigimage = iTextSharp.text.Image.GetInstance(bytes); sigimage.SetAbsolutePosition(100, 100); pdfContentByte.AddImage(sigimage); 

используя следующий код, вы можете добавить изображение на каждую страницу в существующий pdf-файл. (Я использую этот код для настольных приложений )

 string FileLocation = @"C:\\test\\pdfFileName.pdf"; // file path of pdf file var uri = new Uri(@"pack://application:,,,/projrct_name;component/View/Icons/funnelGreen.png"); // use image from project/application folder (this image will insert to pdf) var resourceStream = Application.GetResourceStream(uri).Stream; PdfReader pdfReader = new PdfReader(FileLocation); PdfStamper stamp = new PdfStamper(pdfReader, new FileStream(FileLocation.Replace(".pdf", "(tempFile).pdf"), FileMode.Create));iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(System.Drawing.Image.FromStream(resourceStream), System.Drawing.Imaging.ImageFormat.Png); img.SetAbsolutePosition(125, 350); // set the position in the document where you want the watermark to appear. img.ScalePercent(35f);// not neccessory, use if you want to adjust image img.ScaleToFit(140f, 100f); // not neccessory, use if you want to adjust image PdfContentByte waterMark; for (int page = 1; page <= pdfReader.NumberOfPages; page++) // for loop will add image to each page. Based on the condition you can add image to single page also { waterMark = stamp.GetOverContent(page); waterMark.AddImage(img); } stamp.FormFlattening = true; stamp.Close();// closing the pdfStamper, the order of closing must be important pdfReader.Close(); File.Delete(FileLocation); File.Move(FileLocation.Replace(".pdf", "(tempFile).pdf"), FileLocation);