Contextt:我正在打开一个包含AcroForm字段的现有交互式PDF表单。我试图将图像添加到PDF表单中的矩形字段,如下所示:
string path = HttpContext.Current.Server.MapPath("includes");
string newFile = HttpContext.Current.Server.MapPath("Tmp") + "/completed_gray" +".pdf";
string imagepath = HttpContext.Current.Server.MapPath("Tmp");
Document doc = new Document();
try {
PdfWriter.GetInstance(doc, new FileStream(newFile, FileMode.Open));
doc.Open();
iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/CUstomRep_Eng_Col_1_V1.png");
iTextSharp.text.Rectangle rect = pdfStamper.AcroFields.GetFieldPositions("img_1_space")[0].position;
gif.ScaleAbsolute(rect.Width, rect.Height);
gif.SetAbsolutePosition(rect.Left, rect.Bottom);
doc.Add(gif);
}
catch (Exception ex) {
//Log error;
}
finally {
doc.Close();
}
图像未显示在生成的PDF中。
答案 0 :(得分:2)
您正在使用我手册中记载的“创建PDF文档的5个步骤”创建文档。
这与您实际想要做的事情相矛盾:我想在AcroForm字段定义的占位符中添加Image。
为什么你说你想要一件事,做其他事情?甘拜下风。可能是因为你不想阅读文档。
你需要这样的东西:
回答你的问题:为什么我的图片不会显示在我的文档中?
支持现有文档中字段的坐标是左下角x = 600,y = 600和右上角x = 700,y = 700,然后你将图像添加到可见区域之外你正在创建的页面。当您使用new Document();
时,您正在创建一个文档,其中左下角是x = 0,y = 0,右上角是x = 595,y = 842。
在这种情况下,您将图像添加到文档中,但它不可见,因为您已将其添加到定义页面的矩形之外。