ITextSharp игнорирует стили изображения

Изображение внутри.cshtml файла:

<img src="~/Content/images/imghead.png" style=" border:4px solid #ffffff; border-radius:10px; box-shadow: 2px 2px #f2f2f2; "/>

Вот как это должно быть:

введите описание изображения здесь

Вот как это выглядит:

введите описание изображения здесь

РЕДАКТИРОВАТЬ: строка ниже производит первое изображение (закругленные углы) вверх на выходе HTML. На pdf вывод выглядит как второе изображение. Стили не заботятся.

 <tr>
     <td align="center" style=" height:120px; ">
        <img src="https://abcstorage.blob.core.windows.net/Images/head.png" style="border:4px solid #ffffff; border-radius:10px; box-shadow: 2px 2px #f2f2f2; " />
     </td>
</tr>

Это метод Render():

using (var pdfDocument = new Document(PageSize.A3, HorizontalMargin, HorizontalMargin, 110, 30))
{
    PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument, outputMemoryStream);
    pdfWriter.CloseStream = false;
    pdfWriter.PageEvent = new PrintHeaderFooter();
    pdfDocument.Open();
    using (var htmlViewReader = new StringReader())
    {       
         XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, htmlViewReader);
    }
}

1 ответ

Это не то, как работает MVC, а то, как вы это делаете, это скорее стиль Asp .net Webform.

Используйте для этого css, или, если вам нужно динамическое изменение, используйте ViewBag, например (не проверено):

действие

public ActionResult pdfOutput(string id, string pid)
{
    ViewBag.ImgHeadBorder=iTextSharp.text.Rectangle.BOX;
}

Посмотреть

@if(ViewBag.ImgHeadBorder != null)
{
<img id="imgHead" src="~/Content/images/imghead.png" style="border:@ViewBag.ImgHeadBorder"/>
}
Другие вопросы по тегам