public override void ExecuteResult(ControllerContext context) { if (context == null) { throw new ArgumentNullException("context"); } // get rendered HTML from view string html = ViewRenderer.RenderViewToString(context, ViewName, Model); var cssFiles = CssHelper.GetAllCssPaths(html); //html = ClearHtmlStrategy.Clear(html); // generate the PDF content from HTML var pageConfig = PageConfig != null ? PageConfig : PageSize.A4; byte[] content = HtmlToPdfRenderer.Render(html, cssFiles, pageConfig); var contentDisposition = IsAttachment ? "attachement" : "inline"; HttpResponseBase response = context.HttpContext.Response; response.Clear(); response.ClearContent(); response.ClearHeaders(); response.ContentType = "application/pdf"; response.AppendHeader("Content-Disposition", $"{contentDisposition};filename={Filename}.pdf"); response.AddHeader("Content-Length", content.Length.ToString()); response.BinaryWrite(content); response.OutputStream.Flush(); response.OutputStream.Close(); response.End(); }