public ActionResult ExportDashboardToPdf(string DashboardID, string DashboardState) { using (MemoryStream stream = new MemoryStream()) { string dashboardID = DashboardID; DashboardState dashboardState = new DashboardState(); dashboardState.LoadFromJson(DashboardState); DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions(); pdfOptions.ExportFilters = true; pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below; string dateTimeNow = DateTime.Now.ToString("yyyyMMddHHmmss"); string serverPath = Server.MapPath(@"~/App_Data/Export"); if (!Directory.Exists(serverPath)) { Directory.CreateDirectory(serverPath); } string filePath = Path.Combine(serverPath, dashboardID); string uniqueId = "_" + dateTimeNow + ".pdf"; var exporter = new WebDashboardExporter(DashboardConfigurator.Default); exporter.ExportToPdf(dashboardID, stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions); SaveFile(stream, filePath + uniqueId); ContentResult result = new ContentResult(); result.Content = filePath + uniqueId; return(result); } }
protected void ASPxDashboard1_CustomDataCallback(object sender, DevExpress.Web.CustomDataCallbackEventArgs e) { using (MemoryStream stream = new MemoryStream()) { string selectedDashboardID = e.Parameter.Split('|')[0]; string dashboardStateJson = e.Parameter.Split('|')[1]; DashboardState dashboardState = new DashboardState(); dashboardState.LoadFromJson(dashboardStateJson); DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions(); pdfOptions.ExportFilters = true; pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below; string dateTimeNow = DateTime.Now.ToString("yyyyMMddHHmmss"); string filePath = "~/App_Data/Export/" + selectedDashboardID + "_" + dateTimeNow + ".pdf"; ASPxDashboardExporter exporter = new ASPxDashboardExporter(ASPxDashboard1); exporter.ExportToPdf(selectedDashboardID, stream, new System.Drawing.Size(1920, 1080), dashboardState, pdfOptions); SaveFile(stream, filePath); e.Result = filePath; } }
public ActionResult ExportDashboardToPdf(string DashboardID, string DashboardState) { using (MemoryStream stream = new MemoryStream()) { string dashboardID = DashboardID; DashboardState dashboardState = new DashboardState(); dashboardState.LoadFromJson(DashboardState); DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions(); pdfOptions.ExportFilters = true; pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below; string dateTimeNow = DateTime.Now.ToString("yyyyMMddHHmmss"); string filePath = "~/App_Data/Export/" + dashboardID + "_" + dateTimeNow + ".pdf"; ASPxDashboardExporter exporter = new ASPxDashboardExporter(DashboardConfigurator.Default); exporter.ExportToPdf(dashboardID, stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions); SaveFile(stream, filePath); ContentResult result = new ContentResult(); result.Content = filePath; return(result); } }
protected void ASPxButton1_Click(object sender, EventArgs e) { if (ASPxHiddenField1.Get("dashboardState") != null && ASPxHiddenField1.Get("filterItems") != null) { string dashboardStateJson = ASPxHiddenField1.Get("dashboardState").ToString(); string[] parameters = ASPxHiddenField1.Get("filterItems").ToString().Split('|'); MemoryStream resultStream = new MemoryStream(); using (PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor()) { documentProcessor.CreateEmptyDocument(resultStream); for (int i = 0; i < parameters.Length; i++) { DashboardState dashboardState = new DashboardState(); dashboardState.LoadFromJson(dashboardStateJson); var filterItemState = dashboardState.Items.Where(item => item.ItemName == "comboBoxDashboardItem1").FirstOrDefault(); if (filterItemState != null) { filterItemState.MasterFilterValues.Clear(); filterItemState.MasterFilterValues.Add(new object[] { parameters[i] }); } DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions(); pdfOptions.ShowTitle = DevExpress.Utils.DefaultBoolean.False; ASPxDashboardExporter exporter = new ASPxDashboardExporter(ASPxDashboard1); using (MemoryStream stream = new MemoryStream()) { exporter.ExportToPdf("Dashboard1", stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions); documentProcessor.AppendDocument(stream); } } } resultStream.Seek(0, SeekOrigin.Begin); Page.Response.Clear(); Page.Response.ContentType = "application/pdf"; Response.BinaryWrite(resultStream.ToArray()); Page.Response.End(); } }