【发布时间】:2015-01-07 22:44:10
【问题描述】:
我想生成我的视图的 HTML 以生成 PDF 文档。它在浏览器中打开时应用了样式和脚本。 我尝试了以下代码,但它只在脚本修改之前给出了视图的 html。 在脚本修改(如文本更改与浏览器相同)后,我需要获取视图的 HTML。
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View,
ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
【问题讨论】:
-
那么你应该注意到我对第一个(现已删除)问题的评论!
-
是的,你告诉过 javascript 在服务器上运行。但是如果视图具有与视图绑定的角度指令和模板。以及如何从视图中生成 pdf。脚本运行后有没有办法生成html?
-
Razor 只会生成源代码,不会执行 客户端 脚本。我们使用名为 EO.pdf 的产品来生成 PDF,因为它模拟浏览器并在脚本运行后呈现。
标签: c# asp.net asp.net-mvc razor pdf-generation