来自 base64 的 C# Asp.net RazorPdf/iTextSharp 图像

标签 c# asp.net-mvc razor itextsharp mvcrazortopdf

我在我的 Asp.net MVC5 项目中使用 MvcRazorToPdf 从模型创建 pdf。 这工作正常,但我想包含来自 base64 字符串的图像,因为我不想保存生成的图像。

System.Drawing.Image img = generator.GenerateImage();
string imageBase64Data = Convert.ToBase64String(Helper.ImageToByteArray(img));
string imageDataURL = string.Format("data:image/png;base64,{0}", imageBase64Data);
ViewBag.Image = imageDataURL;

return new PdfActionResult(myobject);

...

<img src="@ViewBag.Image" />

工作正常,如果在普通 View 中显示图像,但 pdf 不显示图像。

感谢您提供帮助或替代方案。

最佳答案

在 MvcRazorToPdf 中,您只能像这样使用图像文件的完整(本地)路径:

@model MvcRazorToPdfExample.Models.PdfExample
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_PdfLayout.cshtml";
    var imagePath = Server.MapPath("~/Content/Images");
}

 <img src="@imagePath\avatar.jpg" alt="mug shot" />

据我所知,不支持 Base64 图片。我从以下示例 View 中复制了上面的代码片段: https://github.com/andyhutch77/MvcRazorToPdf/blob/master/MvcRazorToPdfExample/Views/Pdf/Index.cshtml

关于来自 base64 的 C# Asp.net RazorPdf/iTextSharp 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874363/

相关文章:

c# - 我可以在 .NET 中将类用作变量吗

c# - 格式化要转换为 double 的字符串

c# - XAML 中的枚举转换器

.net - Wcf、ASP.NET MVC 组合?我真的需要它吗?

c# - 使用 DisplayFormat 时未在 View 中设置日期格式

c# - 如何在 C# 中锁定一个整数?

c# - 在 mvc 4 中将列表和字符串数据从 ajax 传递到 Controller ,列表为 NULL?

javascript - 使用 jQuery 获取 ListBox 中选定项目的数量

c# - 从列表获取数据到 JavaScript MVC 3?

autocomplete - ASP.NET MVC3 Razor - 自动完成教程?