Estoy Uso JS Report para ver. Este código procesa el archivo y lo guarda en el directorio raíz. Pero quiero que el archivo se descargue directamente, no se abra para verlo.
var header = await _jsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Header", new { }); var footer = await _jsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Footer", new { }); HttpContext.JsReportFeature() .Recipe(Recipe.ChromePdf) .Configure((r) => { //r.Options = new RenderOptions //{ // Timeout = 600000 //}; r.Template.Chrome = new Chrome { HeaderTemplate = header, FooterTemplate = footer, DisplayHeaderFooter = true, MarginTop = "1cm", MarginLeft = "2cm", MarginBottom = "2cm", MarginRight = "1.5cm", Format = "A3" }; }); HttpContext.JsReportFeature().OnAfterRender((renderer) => { using (var file = System.IO.File.Open("EmployeesList.pdf", FileMode.Create)) { renderer.Content.CopyTo(file); } renderer.Content.Seek(0, SeekOrigin.Begin); });Puedes descargar un JSReport como este
[MiddlewareFilter(typeof(JsReportPipeline))] public IActionResult InvoiceDownload() { HttpContext.JsReportFeature().Recipe(Recipe.PhantomPdf) .OnAfterRender((r) => HttpContext.Response.Headers["Content-Disposition"] = "attachment; filename=\"myReport.pdf\""); return View("Invoice", InvoiceModel.Example()); }Puede obtener ayuda del ejemplo básico oficial de asp.net .
Espero que esto te ayude