public async Task <IActionResult> DetailPdf(int orderId) { var viewResult = await Detail(orderId) as ViewResult; var viewName = "Order/Detail_Doc"; var html = await _viewRenderService.RenderToStringAsync(viewName, viewResult.Model); //var uri = new Uri(Url.Action("Detail", "Order", new { orderId = orderId })); // Create a PDF from any existing web page var Renderer = new IronPdf.HtmlToPdf(); //var PDF1 = await Renderer.RenderUrlAsPdfAsync(uri); var PDF = await Renderer.RenderHtmlAsPdfAsync(html); return(File(PDF.BinaryData, "application/pdf", "Catalog.pdf")); }
public async Task <IActionResult> DetailPdf(int orderId) { var viewModel = await _mediator.Send(new GetOrderDetails(User.Identity.Name, orderId)); if (viewModel == null) { return(BadRequest("No such order found for this user.")); } var html = await _viewRenderService.RenderToStringAsync("Order/Detail_Doc", viewModel); IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf(); var pdfDoc = await Renderer.RenderHtmlAsPdfAsync(html); return(File(pdfDoc.BinaryData, "application/pdf", $"order{orderId}.pdf")); // var viewResult = await Detail(orderId) as ViewResult; // var renderedView = await viewRenderService.RenderToStringAsync(viewResult.ViewName, viewResult.Model); }