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"/>
}