private Stream GetFile(string xml) { MessageList mes_list = new MessageList(); MessageLog logs = new MessageLog(MessageLog.INFO, "GetFile", "Создание потока"); mes_list.Add_Message(logs); XDocument doc = XDocument.Parse(xml); FRDataForm form = new FRDataForm(); ConverterClass convert_class = new ConverterClass(); List <DataTable> list = convert_class.Converter(doc, out form); using (Report report = new Report()) { //conf.GetValue("FolderFR") "\\Report\\" String name_file = conf.GetValue("PathService") + "\\" + conf.GetValue("FolderFR") + "\\" + form.product + "\\" + form.form + ".frx"; MemoryStream mem = new MemoryStream(); logs = new MessageLog(MessageLog.INFO, "GetFile", "Отчет " + name_file); mes_list.Add_Message(logs); ExportBase export = Format(form); report.Load(name_file); EnvironmentSettings s = new EnvironmentSettings(); s.ReportSettings.ShowProgress = false; foreach (DataTable st in list) { report.RegisterData(st, st.TableName); } //report.Show(); //report.Design(); report.Prepare(); //FileStream fl = new FileStream("555.pdf", FileMode.Create); //report.Export(export, fl); //fl.Close(); //report.SavePrepared(fl); report.Export(export, mem); // } // nt.Flush(); mem.Position = 0; //byte[] file = mem.ToArray(); logs = new MessageLog(MessageLog.INFO, "GetFile", "Отчет сформирован и отправлен"); mes_list.Add_Message(logs); Logger.getInstance().Write(mes_list); return(mem); } }
private ExportBase Format(FRDataForm form) { switch (form.format) { case "PDF": return(new FastReport.Export.Pdf.PDFExport()); case "ODT": return(new FastReport.Export.Odf.ODTExport()); case "ODS": return(new FastReport.Export.Odf.ODSExport()); case "XLSX": return(new FastReport.Export.OoXML.Excel2007Export()); case "DOCX": return(new FastReport.Export.OoXML.Word2007Export()); case "BMP": case "JPG": case "JPEG": case "PNG": case "TIFF": { FastReport.Export.Image.ImageExport image_export = new FastReport.Export.Image.ImageExport(); switch (form.format) { case "BMP": image_export.ImageFormat = FastReport.Export.Image.ImageExportFormat.Bmp; break; case "JPG": case "JPEG": image_export.ImageFormat = FastReport.Export.Image.ImageExportFormat.Jpeg; break; case "PNG": image_export.ImageFormat = FastReport.Export.Image.ImageExportFormat.Png; break; case "TIFF": image_export.ImageFormat = FastReport.Export.Image.ImageExportFormat.Tiff; break; default: image_export.ImageFormat = FastReport.Export.Image.ImageExportFormat.Jpeg; break; } return((ExportBase)image_export); } default: return(new FastReport.Export.Pdf.PDFExport()); } }