我需要使用ItextSharp将图像添加到PDF。当图像在服务器上时,我能够做到这一点,但是现在屏幕上已经有图像了,我不知道如何将其添加到PDF中。
这是从服务器添加图像的代码:
logo = Image.GetInstance(Server.MapPath("~/Imagens/208/6633/20190621_095626.jpg"))
cb = writer.DirectContent
logo.ScaleToFit(200, 200)
logo.SetAbsolutePosition(20, 250)
doc.Add(logo)
这是我尝试过的方法,但出现错误“ Tha路径不正确”:
logo = Image.GetInstance(Image1.ImageUrl)
cb = writer.DirectContent
logo.ScaleToFit(200, 200)
logo.SetAbsolutePosition(200, 250)
doc.Add(logo)
任何帮助将不胜感激。 预先谢谢你。
我将Pavan提供的代码转换为VB.NET(见下文),但是有一个我无法解决的错误。
Dim converter As Drawing.ImageConverter = New Drawing.ImageConverter()
Dim b As Byte() = Converter.ConvertTo(Image1, GetType(Byte()))
Dim img As Image = New iTextSharp.text.Image(ImageDataFactory.create(b)) <==Here I got erro (new can not be used in a declared class 'Mustinherit')
img.ScaleToFit(200, 200)
img.SetAbsolutePosition(200, 250)
doc.Add(img)
答案 0 :(得分:0)
如果有Image1
个对象可用,则无需再次调用GetInstance()
。因为GetInstance()
本身会返回image
。
直接分配给其他对象,或立即使用它,如下所示(未测试)。
ImageConverter converter = new ImageConverter();
byte[] b = converter.ConvertTo(Image1, typeof(byte[]));
Image img = new Image(ImageDataFactory.create(b));
img.ScaleToFit(200, 200)
img.SetAbsolutePosition(200, 250)
doc.Add(img)