asp.net-core – 在ASP.NET Core中将html导出为pdf
|
我想将一段html导出为pdf文件,但我没有任何兼容的nuget包。 当我尝试安装任何人时:“X与netcoreapp1.0不兼容(.NETCoreApp,Version = v1.0)。” 有谁知道使用asp.net核心导出到pdf的任何方法? 非常感谢提前! 解决方法从我原来的答案复制到 Export to pdf using ASP.NET 5:从.NET Core中的html生成pdf(没有任何.NET框架依赖性)的一种方法是在.NET Core应用程序中使用Node.js。 安装NuGet包Microsoft.AspNetCore.NodeServices 在Startup.cs中添加像这样的service.AddNodeServices()行 public void ConfigureServices(IServiceCollection services)
{
// ... all your existing configuration is here ...
// Enable Node Services
services.AddNodeServices();
}
现在安装所需的Node.js包: 从命令行将工作目录更改为.NET Core项目的根目录并运行这些命令。 npm init 并按照说明创建package.json文件 npm install jsreport-core --save npm install jsreport-jsrender --save npm install jsreport-phantom-pdf --save 在包含的项目的根目录中创建文件pdf.js. module.exports = function (callback) {
var jsreport = require('jsreport-core')();
jsreport.init().then(function () {
return jsreport.render({
template: {
content: '<h1>Hello {{:foo}}</h1>',engine: 'jsrender',recipe: 'phantom-pdf'
},data: {
foo: "world"
}
}).then(function (resp) {
callback(/* error */ null,resp.content.toJSON().data);
});
}).catch(function (e) {
callback(/* error */ e,null);
})
};
看看here有关jsreport-core的更多解释。 现在在调用此Node.js脚本的Mvc控制器中创建一个操作 [HttpGet]
public async Task<IActionResult> MyAction([FromServices] INodeServices nodeServices)
{
var result = await nodeServices.InvokeAsync<byte[]>("./pdf");
HttpContext.Response.ContentType = "application/pdf";
string filename = @"report.pdf";
HttpContext.Response.Headers.Add("x-filename",filename);
HttpContext.Response.Headers.Add("Access-Control-Expose-Headers","x-filename");
HttpContext.Response.Body.Write(result,result.Length);
return new ContentResult();
}
当然,您可以使用nodeServices返回的byte []执行任何操作,在此示例中,我只是从控制器操作中输出它,以便可以在浏览器中查看它。 您还可以使用pdf.js中的resp.content.toString(‘base64’)通过base64编码的字符串在Node.js和.NET Core之间交换数据并使用 备择方案 大多数pdf生成器解决方案仍然依赖于.NET 4.5 / 4.6框架。但是,如果您不喜欢使用Node.js,似乎有一些付费替代方案: > NReco.PdfGenerator.LT 我没有尝试过这些。 我希望我们很快会看到这一领域的一些开源进展。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC WebApi:没有为此对象定义的无
- IIS和ASP.Net Web开发服务器之间的行为差异?
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- RSS2.0中文规范详解及示例
- asp.net-mvc – JSP相当于ASP.NET MVC的部分视图?
- rest – 基于权限从WebApi端点进行上下文序列化
- 集成ASP.NET身份的最佳做法 – 它们是否存在?
- 部署DotNetNuke并将ASP.NET应用程序分开 – 可能的问题?
- asp.net-mvc – 如何单元测试返回ContentResult的ActionRes
- asp.net – WebAPI不返回XML,即使有正确的Accepts头
- asp.net-mvc – 如何访问querystring在ASP.Net M
- asp.net-mvc – ASP.Net MVC风格包不包括大多数文
- asp.net – LINQ to SQL Web应用程序最佳实践
- asp.net – 为什么会间歇地得到这个错误? “服务
- asp.net-mvc – 导出Excel文件以查看(MVC)
- asp.net-mvc-3 – ASP.NET MVC 3未找到视图“错误
- asp.net-mvc-3 – 在MVC Razor View中使用If语句
- asp.net-mvc-3 – 我需要什么样的路线才能提供虚
- .net – 单个配置密钥的多个值
- asp.net-mvc – ASP.NET MVC:通过两个控制器操作
