示例#1
0
        public byte[] GetFileBytes(Report report)
        {
            var pages = report.BuildPages();
            int width = (int)report.PageWidthPoints;
            int height = (int)report.PageHeightPoints;
            string filename = string.Format("gen-{0}.pdf", Guid.NewGuid());
			
            try
            {
                using (Cairo.PdfSurface pdf = new Cairo.PdfSurface(filename, width, height))
                {
                    using (Cairo.Context g = new Cairo.Context(pdf))
                    {
						
                        var render = new  fyiReporting.RdlGtkViewer.RenderCairo(g);
                        render.RunPages(pages);
                    }
                }
                byte[] bytes = File.ReadAllBytes(filename);
                return bytes;
				
            }
            finally
            {
                if (File.Exists(filename))
                {
                    File.Delete(filename);
                }
            }
        }
        public byte[] GetFileBytes(Report report)
        {
            var    pages    = report.BuildPages();
            int    width    = (int)report.PageWidthPoints;
            int    height   = (int)report.PageHeightPoints;
            string filename = string.Format("gen-{0}.pdf", Guid.NewGuid());

            try
            {
                using (Cairo.PdfSurface pdf = new Cairo.PdfSurface(filename, width, height))
                {
                    using (Cairo.Context g = new Cairo.Context(pdf))
                    {
                        var render = new  fyiReporting.RdlGtkViewer.RenderCairo(g);
                        render.RunPages(pages);
                    }
                }
                byte[] bytes = File.ReadAllBytes(filename);
                return(bytes);
            }
            finally
            {
                if (File.Exists(filename))
                {
                    File.Delete(filename);
                }
            }
        }
示例#3
0
        public void BreakOffControlAtMostAtHeight_WithHeightInText_FirstControlAlwaysLowerOrEqualThanHeight()
        {
            TextBlockRenderer tbr = new TextBlockRenderer();

            using (Cairo.PdfSurface pdf = new Cairo.PdfSurface(System.IO.Path.Combine(System.Environment.CurrentDirectory, "monoreports_tmp_test.pdf"), 600, 800)) {
                var cr = new  Cairo.Context(pdf);

                TextBlock tb = new TextBlock();
                tb.Text     = loremIpsum;
                tb.Location = new Point(10, 50);
                tb.Width    = 89;
                tb.Height   = 40;

                Control[] tab = null;



                tab = tbr.BreakOffControlAtMostAtHeight(cr, tb, 120);

                Assert.LessOrEqual(tab[0].Height, 120);


                tab = tbr.BreakOffControlAtMostAtHeight(cr, tb, 330);

                Assert.LessOrEqual(tab[0].Height, 330);

                //chhamge padding

                tb.Padding = new Thickness(4, 22, 8, 8);

                tab = tbr.BreakOffControlAtMostAtHeight(cr, tb, 20);



                Assert.LessOrEqual(tab[0].Height, 20);

                tab = tbr.BreakOffControlAtMostAtHeight(cr, tb, 47);

                Assert.LessOrEqual(tab[0].Height, 47);

                pdf.Finish();
            }
        }
        public void BreakOffControlAtMostAtHeight_WithHeightInText_FirstControlAlwaysLowerOrEqualThanHeight()
        {
            TextBlockRenderer tbr = new TextBlockRenderer();
            using(Cairo.PdfSurface pdf = new Cairo.PdfSurface( System.IO.Path.Combine( System.Environment.CurrentDirectory, "monoreports_tmp_test.pdf"),600,800)) {

                var cr = new  Cairo.Context(pdf);

                TextBlock tb = new TextBlock();
                tb.Text = loremIpsum;
                tb.Location = new Point(10,50);
                tb.Width = 89;
                tb.Height = 40;

                Control[] tab = null;

                tab = tbr.BreakOffControlAtMostAtHeight(cr,tb,120);

                Assert.LessOrEqual(tab[0].Height,120);

                tab = tbr.BreakOffControlAtMostAtHeight(cr,tb,330);

                Assert.LessOrEqual(tab[0].Height,330);

                //chhamge padding

                tb.Padding = new Thickness(4,22,8,8);

                tab = tbr.BreakOffControlAtMostAtHeight(cr,tb,20);

                Assert.LessOrEqual(tab[0].Height,20);

                tab = tbr.BreakOffControlAtMostAtHeight(cr,tb,47);

                Assert.LessOrEqual(tab[0].Height,47);

                pdf.Finish();
            }
        }