Hi,
Please add the below code in the controller.
- private void CreateDataSet()
- {
-
- FDataSet = new DataSet();
-
- DataTable table = new DataTable();
- table.TableName = "Employees";
- FDataSet.Tables.Add(table);
-
- table.Columns.Add("ID", typeof(int));
- table.Columns.Add("Name", typeof(string));
-
- table.Rows.Add(1, "Andrew Fuller");
- table.Rows.Add(2, "Nancy Davolio");
- table.Rows.Add(3, "Margaret Peacock");
- }
-
-
- public void SaveMemoryStream(MemoryStream ms, string FileName)
- {
- FileStream outStream = System.IO.File.OpenWrite(FileName);
- ms.WriteTo(outStream);
- outStream.Flush();
- outStream.Close();
- }
-
-
- [HttpPost]
- public JsonResult GetFile()
- {
- FastReport.Utils.Config.WebMode = true;
- Report rep = new Report();
- rep.Load(Request.PhysicalApplicationPath + "App_Data/report.frx");
-
- CreateDataSet();
-
- rep.RegisterData(FDataSet);
-
- if (rep.Report.Prepare())
- {
-
- FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport();
- pdfExport.ShowProgress = false;
- pdfExport.Subject = "Subject";
- pdfExport.Title = "xxxxxxx";
- pdfExport.Compressed = true;
- pdfExport.AllowPrint = true;
- pdfExport.EmbeddingFonts = true;
-
- MemoryStream strm = new MemoryStream();
- rep.Report.Export(pdfExport, strm);
- rep.Dispose();
- pdfExport.Dispose();
- strm.Position = 0;
-
- string dateTime = DateTime.Now.ToString("yyyyddmmhhMMss") + ".pdf";
-
- string filePath = Server.MapPath("\\Content\\Downloads\\");
-
- if (!Directory.Exists(filePath))
- {
- Directory.CreateDirectory(filePath);
- }
-
-
- SaveMemoryStream(strm, filePath + dateTime);
-
-
-
-
-
-
- return Json(filePath + dateTime);
- }
- else
- {
- return null;
- }
- }
Thanks....