TextWriter tw; // where the output is going #endregion Fields #region Constructors public RenderXml(Report rep, IStreamGen sg) { r = rep; tw = sg.GetTextWriter(); stkReportItem = new Stack(); stkContainers = new Stack(); }
IStreamGen _sg; // stream generater #endregion Fields #region Constructors public RenderExcel(Report rep, IStreamGen sg) { r = rep; _sg = sg; // We need this in future _Excel = new ExcelValet(); }
public ProcessReport(Report rep, IStreamGen sg) { if (rep.rl.MaxSeverity > 4) throw new Exception("Report has errors. Cannot be processed."); r = rep; _sg = sg; }
public ProcessReport(Report rep) { if (rep.rl.MaxSeverity > 4) throw new Exception("Report has errors. Cannot be processed."); r = rep; _sg = null; }
public ProcessReport(Report rep) { if (rep.rl.MaxSeverity > 4) throw new Exception(Strings.ProcessReport_Error_ReportHasErrors); r = rep; _sg = null; }
int _SkipMatrixCols=0; // # of matrix columns to skip public RenderHtml(Report rep, IStreamGen sg) { r = rep; _sg = sg; // We need this in future tw = new StringWriter(); // will hold the bulk of the HTML until we generate // final file _styles = new Hashtable(); }
IStreamGen _sg; // stream generater #endregion Fields #region Constructors public RenderRtf(Report rep, IStreamGen sg) { r = rep; _sg = sg; // We need this in future tw = new StringWriter(); // will hold the bulk of the RTF until we generate _Fonts = new System.Collections.Generic.List<string>(); _Colors = new System.Collections.Generic.List<Color>(); }
public RenderSpreadSheetDocument_OpenXmlSdk(Report report, IStreamGen sg) : base(report, sg) { _ms = new MemoryStream(); _spreadSheet = SpreadsheetDocument.Create(_ms, SpreadsheetDocumentType.Workbook); _openXmlExportHelper = new OpenXmlWriterHelper(); _workbook = new Workbook(); _workSheetSettings = new List<WorkSheetSetting>(); }
/// <summary> /// RunRenderTif will render a TIF given the page structure /// </summary> /// <param name="sg"></param> /// <param name="pgs"></param> public void RunRenderTif(IStreamGen sg, Pages pgs, bool bColor) { PageNumber = 1; // reset page numbers TotalPages = 1; RenderTif ip = new RenderTif(this, sg); ip.RenderColor = bColor; try { ip.Start(); ip.RunPages(pgs); ip.End(); } finally { pgs.CleanUp(); // always want to make sure we cleanup to reduce resource usage _Cache = new RCache(); } return; }
/// <summary> /// Renders the report using the requested presentation type. /// </summary> /// <param name="sg">IStreamGen for generating result stream</param> /// <param name="type">Presentation type: HTML, XML, PDF, MHT, or ASP compatible HTML</param> /// <param name="prefix">For HTML puts prefix allowing unique name generation</param> public void RunRender(IStreamGen sg, OutputPresentationType type, string prefix) { if (sg == null) throw new ArgumentException("IStreamGen argument cannot be null.", "sg"); RenderHtml rh=null; PageNumber = 1; // reset page numbers TotalPages = 1; IPresent ip; MemoryStreamGen msg = null; switch (type) { case OutputPresentationType.PDF: ip = new RenderPdf(this, sg); _Report.Run(ip); break; case OutputPresentationType.PDFOldStyle: ip = new RenderPdf(this, sg); this.ItextPDF = false; _Report.Run(ip); break; case OutputPresentationType.TIF: ip = new RenderTif(this, sg); _Report.Run(ip); break; case OutputPresentationType.TIFBW: RenderTif rtif = new RenderTif(this, sg); rtif.RenderColor = false; ip = rtif; _Report.Run(ip); break; case OutputPresentationType.XML: if (_Report.DataTransform != null && _Report.DataTransform.Length > 0) { msg = new MemoryStreamGen(); ip = new RenderXml(this, msg); _Report.Run(ip); RunRenderXmlTransform(sg, msg); } else { ip = new RenderXml(this, sg); _Report.Run(ip); } break; case OutputPresentationType.MHTML: this.RunRenderMht(sg); break; case OutputPresentationType.CSV: ip = new RenderCsv(this, sg); _Report.Run(ip); break; case OutputPresentationType.RTF: ip = new RenderRtf(this, sg); _Report.Run(ip); break; case OutputPresentationType.Excel: ip = new RenderExcel(this, sg); _Report.Run(ip); break; case OutputPresentationType.ASPHTML: case OutputPresentationType.HTML: default: ip = rh = new RenderHtml(this, sg); rh.Asp = (type == OutputPresentationType.ASPHTML); rh.Prefix = prefix; _Report.Run(ip); // Retain the CSS and JavaScript if (rh != null) { _CSS = rh.CSS; _JavaScript = rh.JavaScript; } break; } sg.CloseMainStream(); _Cache = new RCache(); return; }
/// <summary> /// Renders the report using the requested presentation type. /// </summary> /// <param name="sg">IStreamGen for generating result stream</param> /// <param name="type">Presentation type: HTML, XML, PDF, or ASP compatible HTML</param> public void RunRender(IStreamGen sg, OutputPresentationType type) { RunRender(sg, type, ""); }
public RenderPdf(Report report, IStreamGen stream) { this.report = report; outputStream = stream.GetStream(); }
public RenderTif(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); _RenderColor = true; }
Stream _streamGen; // where the output is going #endregion Fields #region Constructors public RenderBase(Report rep, IStreamGen sg) { _streamGen = sg.GetStream(); _report = rep; }
public RenderTif(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); _RenderColor = true; }
/// <summary> /// RunRenderPdf will render a Pdf given the page structure /// </summary> /// <param name="sg"></param> /// <param name="pgs"></param> public void RunRenderPdf(IStreamGen sg, Pages pgs) { PageNumber.RuntimePageNumber = 1; // reset page numbers TotalPages.RuntimePageCount = 1; IPresent ip = new RenderPdf(this, sg); try { ip.Start(); ip.RunPages(pgs); ip.End(); } finally { pgs.CleanUp(); // always want to make sure we cleanup to reduce resource usage } return; }
DelimitedTextWriter tw; // where the output is going #endregion Fields #region Constructors public RenderCsv(Report report, IStreamGen sg) { this.report = report; tw = new DelimitedTextWriter(sg.GetTextWriter(), ","); }
// Renders the report; RunGetData must be run before this. public void RunRender(IStreamGen sg, OutputPresentationType type) { if (sg == null) throw new ArgumentException("IStreamGen argument cannot be null.", "sg"); PageNumber.RuntimePageNumber = 1; // reset page numbers TotalPages.RuntimePageCount = 1; IPresent ip; MemoryStreamGen msg = null; switch (type) { case OutputPresentationType.PDF: ip = new RenderPdf(this, sg); break; case OutputPresentationType.XML: if (this.DataTransform != null && DataTransform.Length > 0) { msg = new MemoryStreamGen(); ip = new RenderXml(this, msg); } else ip = new RenderXml(this, sg); break; case OutputPresentationType.HTML: default: ip = new RenderHtml(this, sg); break; } Run(ip); // When msg isn't null we have to do a datatransform on the XML in the data stream if (msg != null) { try { string file; if (this.DataTransform[0] != Path.DirectorySeparatorChar) file = this.Folder + Path.DirectorySeparatorChar + _DataTransform; else file = this.Folder + _DataTransform; XmlUtil.XslTrans(file, msg.GetText(), sg.GetStream()); } catch (Exception ex) { this.rl.LogError(8, "Error processing DataTransform " + ex.Message + "\r\n" + ex.StackTrace); } finally { msg.Dispose(); } } sg.CloseMainStream(); return; }
public RenderPdf_iTextSharp(Report report, IStreamGen sg) : base(report, sg) { _pdfDocument = new Document(); _ms = new MemoryStream(); }
/// <summary> /// RunRenderPdf will render a Pdf given the page structure /// </summary> /// <param name="sg"></param> /// <param name="pgs"></param> public void RunRenderPdf(IStreamGen sg, Pages pgs) { PageNumber = 1; // reset page numbers TotalPages = 1; IPresent ip; if (this.ItextPDF) ip = new RenderPdf_iTextSharp(this, sg); else ip=new RenderPdf(this, sg); try { ip.Start(); ip.RunPages(pgs); ip.End(); } finally { pgs.CleanUp(); // always want to make sure we cleanup to reduce resource usage _Cache = new RCache(); } return; }
private void RunRenderMht(IStreamGen sg) { OneFileStreamGen temp = null; FileStream fs=null; try { string tempHtmlReportFileName = Path.ChangeExtension(Path.GetTempFileName(), "htm"); temp = new OneFileStreamGen(tempHtmlReportFileName, true); RunRender(temp, OutputPresentationType.HTML); temp.CloseMainStream(); // Create the mht file (into a temporary file position) MhtBuilder mhtConverter = new MhtBuilder(); string fileName = Path.ChangeExtension(Path.GetTempFileName(), "mht"); mhtConverter.SavePageArchive(fileName, "file://" + tempHtmlReportFileName); // clean up the temporary files foreach (string tempFileName in temp.FileList) { try { File.Delete(tempFileName); } catch{} } // Copy the mht file to the requested stream Stream os = sg.GetStream(); fs = File.OpenRead(fileName); byte[] ba = new byte[4096]; int rb=0; while ((rb = fs.Read(ba, 0, ba.Length)) > 0) { os.Write(ba, 0, rb); } } catch (Exception ex) { rl.LogError(8, "Error converting HTML to MHTML " + ex.Message + Environment.NewLine + ex.StackTrace); } finally { if (temp != null) temp.CloseMainStream(); if (fs != null) fs.Close(); _Cache = new RCache(); } }
/// <summary> /// Renders the report using the requested presentation type. /// </summary> /// <param name="sg">IStreamGen for generating result stream</param> /// <param name="type">Presentation type: HTML, XML, PDF, or ASP compatible HTML</param> public void RunRender(IStreamGen sg, OutputPresentationType type) { RunRender(sg, type, ""); }
private void RunRenderXmlTransform(IStreamGen sg, MemoryStreamGen msg) { try { string file; if (_Report.DataTransform[0] != Path.DirectorySeparatorChar) file = this.Folder + Path.DirectorySeparatorChar + _Report.DataTransform; else file = this.Folder + _Report.DataTransform; XmlUtil.XslTrans(file, msg.GetText(), sg.GetStream()); } catch (Exception ex) { rl.LogError(8, "Error processing DataTransform " + ex.Message + "\r\n" + ex.StackTrace); } finally { msg.Dispose(); } return; }
/// <summary> /// Renders the report using the requested presentation type. /// </summary> /// <param name="sg">IStreamGen for generating result stream</param> /// <param name="type">Presentation type: HTML, XML, PDF, MHT, or ASP compatible HTML</param> /// <param name="prefix">For HTML puts prefix allowing unique name generation</param> public void RunRender(IStreamGen sg, OutputPresentationType type, string prefix) { if (sg == null) { throw new ArgumentException("IStreamGen argument cannot be null.", "sg"); } RenderHtml rh = null; PageNumber = 1; // reset page numbers TotalPages = 1; IPresent ip; MemoryStreamGen msg = null; switch (type) { case OutputPresentationType.PDF: case OutputPresentationType.RenderPdf_iTextSharp: ip = new RenderPdf_iTextSharp(this, sg); _Report.Run(ip); break; case OutputPresentationType.PDFOldStyle: ip = new RenderPdf(this, sg); this.ItextPDF = false; _Report.Run(ip); break; case OutputPresentationType.TIF: ip = new RenderTif(this, sg); _Report.Run(ip); break; case OutputPresentationType.TIFBW: RenderTif rtif = new RenderTif(this, sg); rtif.RenderColor = false; ip = rtif; _Report.Run(ip); break; case OutputPresentationType.XML: if (_Report.DataTransform != null && _Report.DataTransform.Length > 0) { msg = new MemoryStreamGen(); ip = new RenderXml(this, msg); _Report.Run(ip); RunRenderXmlTransform(sg, msg); } else { ip = new RenderXml(this, sg); _Report.Run(ip); } break; case OutputPresentationType.MHTML: this.RunRenderMht(sg); break; case OutputPresentationType.CSV: ip = new RenderCsv(this, sg); _Report.Run(ip); break; case OutputPresentationType.RTF: ip = new RenderRtf(this, sg); _Report.Run(ip); break; case OutputPresentationType.ExcelTableOnly: ip = new RenderExcel(this, sg); _Report.Run(ip); break; case OutputPresentationType.Excel2007: ip = new RenderExcel2007(this, sg); _Report.Run(ip); break; case OutputPresentationType.ASPHTML: case OutputPresentationType.HTML: default: ip = rh = new RenderHtml(this, sg); rh.Asp = (type == OutputPresentationType.ASPHTML); rh.Prefix = prefix; _Report.Run(ip); // Retain the CSS and JavaScript if (rh != null) { _CSS = rh.CSS; _JavaScript = rh.JavaScript; } break; } sg.CloseMainStream(); _Cache = new RCache(); return; }
public RenderPdf_iTextSharp(Report report, IStreamGen sg) : base(report, sg) { _pdfDocument = new Document(); _ms = new MemoryStream(); }
DelimitedTextWriter tw; // where the output is going public RenderCsv(Report report, IStreamGen sg) { this.report = report; tw = new DelimitedTextWriter(sg.GetTextWriter(), ","); }
Stream tw; // where the output is going #endregion Fields #region Constructors public RenderPdf(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); }
public RenderBase(Report rep, IStreamGen sg) { _streamGen = sg.GetStream(); _report = rep; }