gpt4 book ai didi

c# - 如何在 ASP.NET MVC 中应用脚本和样式后从 HTML View 生成 PDF

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:42 24 4
gpt4 key购买 nike

我想生成我的 View 的 HTML 以生成 PDF 文档。它在浏览器中打开时应用了样式和脚本。我尝试了以下代码,但它只提供了脚本修改前的 View html。我需要在脚本修改后获取 HTML View ,例如文本更改与浏览器相同。

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();
}
}

最佳答案

我不妨发表我的评论作为答案...

Razor/ASP.Net 只会生成源代码,不会执行客户端 脚本。您需要使用模拟网络浏览器的工具将客户端 脚本转换为呈现的 PDF。

这意味着它需要理解脚本样式(即就像浏览器一样)。

有几种商业产品,但我个人使用过Essential Objects PDF converter直接生成 PDF View 。它有一个内置的 Javascript 引擎,所以看起来就像在浏览器中一样。

请注意这些产品非常复杂(因为它们包括完整的浏览器渲染引擎),因此大多数都需要付费许可(至少用于商业用途)。

注意:我与 Essential Objects 没有任何关系。这纯粹是基于该产品实际使用的意见。

关于c# - 如何在 ASP.NET MVC 中应用脚本和样式后从 HTML View 生成 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com