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; }
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) var 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); var 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(); } }
public void End() { Stream fs = _sg.GetStream(); _Excel.WriteExcel(fs); if (_g != null) { _g.Dispose(); _g = null; } if (_bm != null) { _bm.Dispose(); _bm = null; } return; }
Stream tw; // where the output is going #endregion Fields #region Constructors public RenderPdf(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); }
static readonly int MEASUREMAX = 32; // guess I'm wrong -- .Net 2 doesn't seem to have a limit; 1.1 limit was 32 public RenderPdf(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); }
Stream _streamGen; // where the output is going #endregion Fields #region Constructors public RenderBase(Report rep, IStreamGen sg) { _streamGen = sg.GetStream(); _report = rep; }
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; }
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(); } }
public RenderPdf(Report report, IStreamGen stream) { this.report = report; outputStream = stream.GetStream(); }
// 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 RenderTif(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); _RenderColor = true; }
private float rowHeight; //行高 public RenderiTextPdf(Report r, IStreamGen sg) { this._Report = r; this.tw = sg.GetStream(); }
public RenderPdf(Report report, IStreamGen stream) { this.report = report; outputStream = stream.GetStream(); }
// 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 RenderBase(Report rep, IStreamGen sg) { _streamGen = sg.GetStream(); _report = rep; }
public RenderTif(Report rep, IStreamGen sg) { r = rep; tw = sg.GetStream(); _RenderColor = true; }