itextsharp将图像添加到现有的pdf [英] itextsharp adding image to existing pdf
本文介绍了itextsharp将图像添加到现有的pdf的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用itextsharp添加图像,但没有任何运气有大量的教程将图像添加到新的pdf文档中,而没有将图像添加到现有的pdf中,因此.add方法无法使用
我正在尝试使用压模写入方法添加图像而且我没有任何错误,但是没有图像显示 PdfReader reader = new PdfReader(pdfIn);//获取pdf如果(File.Exists(pdfOut))File.Delete(pdfOut);//重启FileStream fs =新的FileStream(pdfOut,FileMode.Create);PdfStamper压模=新的PdfStamper(阅读器,fs);尝试{//将base64string转换为bytes数组Byte []个字节= Convert.FromBase64String(base64decode);iTextSharp.text.Image sigimage = iTextSharp.text.Image.GetInstance(bytes);//sigimage.SetAbsolutePosition(10,10);sigimage.ScaleToFit(140f,120f);stamper.Writer.Add(sigimage);}捕获(DocumentException dex){//在此处记录异常}捕获(IOException ioex){//在此处记录异常}AcroFields字段= stamper.AcroFields;//为每个pdf表单填充字段重复fields.SetField("agencyName",name.Value);stamper.FormFlattening = true;//设置为true以锁定pdf不可编辑stamper.Writer.CloseStream = true;stamper.Close();reader.Close();fs.Close();
解决方案
我认为您可以尝试以下将其添加到字节中
PdfReader reader =新的PdfReader(pdfIn)FileStream fs =新的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);
i am trying to add an image using itextsharp but not having any luck there are a ton of tutorials for adding an image to a new pdf doc but not and existing pdf so the .add menthod is not avaivlable
i am tring to do use the stamper write method to add image and i dont get any errors but no image shows up
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();
解决方案
I think you try the following adding it to bytes
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);
这篇关于itextsharp将图像添加到现有的pdf的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文