Как добавить изображение, отображаемое на экране, в PDF (с помощью Itextsharp) - PullRequest
1 голос
/ 27 июня 2019

Мне нужно добавить изображение в PDF, используя ItextSharp. Я смог сделать это, когда изображение находится на сервере, но теперь у меня есть изображение на экране, и я не знаю, как добавить его в 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)

Это то, что я пробовал, но я получил сообщение об ошибке "Неправильный путь":

logo = Image.GetInstance(Image1.ImageUrl)
    cb = writer.DirectContent
    logo.ScaleToFit(200, 200)
    logo.SetAbsolutePosition(200, 250)
    doc.Add(logo)

Любая помощь будет оценена. Заранее спасибо.

Я конвертирую код, предоставленный Паваном, в 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)

1 Ответ

0 голосов
/ 27 июня 2019

Если у вас есть объект 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...