2016-09-15 5 views
-1

Я пытался с помощью evopdf преобразовать html в pdf, а в моем html есть изображение с абсолютным путем, но изображение не может загрузить его в pdf.here "sb" is string builder, в котором я добавляю строку html.Невозможно загрузить изображение в pdf с помощью Evopdf

PdfConverter pdf = new PdfConverter(); 
    byte[] outPdfBuffer = pdf.GetPdfBytesFromHtmlString(sb.ToString()); 

    HttpContext.Current.Response.BinaryWrite(outPdfBuffer); 

    HttpContext.Current.Response.End(); 

, как я дал полный путь я не дает базовый URL, вот мое изображение в HTML:

<img src="C:/Users/ingyadav/Desktop/icons/icons/logo_160.png" alt="Symphony Summit"/> 

может кто-нибудь помочь мне в этом

+0

Дайте нам некоторый код –

+0

извините, добавил код @code Joy – aggy

+0

Можете ли вы показать, как изображения источников смотрите в HTML? – SilentTremor

ответ

1

Это легко, источник вашего Изображение должно быть от http, если у вас есть консольное приложение, и вы хотите исправить это преобразование изображения в base64,

public string GetImage(string path) 
{ 
    using (Image image = Image.FromFile(path)) 
    {     
     using (MemoryStream m = new MemoryStream()) 
     { 
      image.Save(m, image.RawFormat); 
      byte[] imageBytes = m.ToArray(); 

      // Convert byte[] to Base64 String 
      return Convert.ToBase64String(imageBytes);     
     }     
    } 
} 

и

sb.Append("<img src=" + @"data:image/jpeg;base64," + GetImage(path) + "' />"); 

Если у вас есть веб-приложение, я настоятельно рекомендую использовать относительный путь, или путь CDN.

<img alt="Image with Full URL" src="http://www.domain.com/Images/Logo.jpg" /> 

или

<img alt="Image with Relative path" src="/Images/Logo.jpg" /> 
+0

Фактически, im конвертирует html в pdf и отправляет PDF в виде вложения электронной почты. – aggy

+0

Хорошо для вас, вы понимаете, в чем проблема? или ... – SilentTremor

+0

да, это так, спасибо! – aggy

2

Для местных ресурсов, которые вы должны использовать полностью Qualifed URL-префиксом файла: ///. В вашем случае ваш HTML тег изображения должен быть:

<img src="file:///C:/Users/ingyadav/Desktop/icons/icons/logo_160.png" alt="Symphony Summit"/> 
+0

Я попробовал это в вашей демонстрации, но, по-прежнему не загружая изображение. – aggy

+0

Живая демонстрация запускается на сервере EvoPdf и не может получить доступ к локальному файлу с вашего компьютера. Вам необходимо загрузить пакет библиотеки с http://www.evopdf.com/download.aspx и попробовать демонстрацию на своем компьютере. Дайте мне знать, как это работает для вас – EvoPdf

 Смежные вопросы

  • Нет связанных вопросов^_^