Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        public ProcessReport(Report rep, IStreamGen sg)
        {
            if (rep.rl.MaxSeverity > 4)
                throw new Exception("Report has errors.  Cannot be processed.");

            r = rep;
            _sg = sg;
        }
Exemplo n.º 4
0
        public ProcessReport(Report rep)
        {
            if (rep.rl.MaxSeverity > 4)
                throw new Exception("Report has errors.  Cannot be processed.");

            r = rep;
            _sg = null;
        }
Exemplo n.º 5
0
		public ProcessReport(Report rep)
		{
			if (rep.rl.MaxSeverity > 4)
				throw new Exception(Strings.ProcessReport_Error_ReportHasErrors);

			r = rep;
			_sg = null;
		}
Exemplo n.º 6
0
		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();
		}
Exemplo n.º 7
0
        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>();
 }
Exemplo n.º 9
0
        /// <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;
        }
Exemplo n.º 10
0
        /// <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;
        }
Exemplo n.º 11
0
 /// <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, "");
 }
Exemplo n.º 12
0
 public RenderPdf(Report report, IStreamGen stream)
 {
     this.report = report;
     outputStream = stream.GetStream();
 }
Exemplo n.º 13
0
 public RenderTif(Report rep, IStreamGen sg)
 {
     r = rep;
     tw = sg.GetStream();
     _RenderColor = true;
 }
Exemplo n.º 14
0
        Stream _streamGen; // where the output is going

        #endregion Fields

        #region Constructors

        public RenderBase(Report rep, IStreamGen sg)
        {
            _streamGen = sg.GetStream();
            _report = rep;
        }
Exemplo n.º 15
0
 public RenderTif(Report rep, IStreamGen sg)
 {
     r            = rep;
     tw           = sg.GetStream();
     _RenderColor = true;
 }
Exemplo n.º 16
0
		/// <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;
		}
Exemplo n.º 17
0
        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(), ",");
        }
Exemplo n.º 18
0
		// 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;
		}
Exemplo n.º 19
0
 public RenderPdf_iTextSharp(Report report, IStreamGen sg) : base(report, sg)
 {
     _pdfDocument = new Document();
     _ms          = new MemoryStream();
 }
Exemplo n.º 20
0
        /// <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;
        }
Exemplo n.º 21
0
        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();
            }
        }
Exemplo n.º 22
0
 /// <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, "");
 }
Exemplo n.º 23
0
 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;
 }
Exemplo n.º 24
0
        /// <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();
 }
Exemplo n.º 26
0
        DelimitedTextWriter tw;                         // where the output is going

        public RenderCsv(Report report, IStreamGen sg)
        {
            this.report = report;
            tw          = new DelimitedTextWriter(sg.GetTextWriter(), ",");
        }
Exemplo n.º 27
0
        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;
 }