Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Reporting > Telerik Reporting > Telerik reports huge chart print issue

Not answered Telerik reports huge chart print issue

Feed from this thread
  • Kiran avatar

    Posted on Feb 2, 2012 (permalink)


    Dear Telerik team ,

                      I have implemented the  below code for external print button functionality in silverlight with a report having more than 20 pages. I have tested this using XPS printer I have found few of the pages are not printed correctly. Out of 20 pages I have found 2 pages are printing partially every time.(Page 7 and page 14). if the chart size increase it is becoming more worse.
    Is is possible to show a progress bar before print dialog appears.
     I have attached the screen shot for your reference.  Please help on this issue.


    MainPage.cs 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Windows.Navigation;
    using Telerik.ReportViewer.Silverlight;
    using Telerik.Reporting.Service.SilverlightClient;
    using System.ServiceModel;
    using Telerik.Reporting.Service;
    using System.Runtime.Serialization;
    using System.IO;
    using System.Text;
    using System.Windows.Printing;
    using System.Windows.Media.Imaging;
    using System.Windows.Markup;
    using System.Collections.ObjectModel;
     
    namespace ReportsSample
    {
        
        public partial class MainPage : UserControl, IReportServiceClientFactory
        {
     
     
          
            public MainPage()
            {
                InitializeComponent();
               
     
               
     
     
                this.rptViewer.ReportServiceClientFactory = this;
                this.rptViewer.RenderBegin += new RenderBeginEventHandler(rptViewer_RenderBegin);      
            }
     
     
         
     
            ReportViewerModel viewerModel;
            ReportViewerModel ViewerModel
            {
                get
                {
                    if (viewerModel == null && VisualTreeHelper.GetChildrenCount(this.rptViewer) > 0)
                    {
                        var layoutRoot = (FrameworkElement)VisualTreeHelper.GetChild(this.rptViewer, 0);
                        viewerModel = (ReportViewerModel)layoutRoot.DataContext;
                    }
                    return viewerModel;
                }
            }
     
     
            void rptViewer_RenderBegin(object sender, RenderBeginEventArgs args)
            {
                this.rptViewer.RenderBegin -= this.rptViewer_RenderBegin;          
                this.ViewerModel.PropertyChanged += this.ViewerModel_PropertyChanged;
            }
     
     
            void ViewerModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
            {
                //if (e.PropertyName == "State" && IsReadyToPrint())
                //{
                //    this.ViewerModel.PropertyChanged -= this.ViewerModel_PropertyChanged;
                //    this.PrintReport();
                //}
            }
     
            bool IsReadyToPrint()
            {
                return this.ViewerModel.State == ReportViewerStates.ViewerPage;
            }
     
            void PrintReport()
            {
                this.viewerModel.PrintReportCommand.Execute(null);
            }
     
          
     
            #region IReportServiceClientFactory Members
     
            ReportServiceClient IReportServiceClientFactory.Create(System.Uri remoteAddress)
            {
               // remoteAddress = new Uri("../Reports/ReportService.svc", UriKind.RelativeOrAbsolute);
                var binding = new BasicHttpBinding()
                {
                    MaxBufferSize = int.MaxValue,
                    MaxReceivedMessageSize = int.MaxValue,
                    ReceiveTimeout = new TimeSpan(0, 15, 0),
                    SendTimeout = new TimeSpan(0, 15, 0)
                };
     
                var endpointAddress = new EndpointAddress(remoteAddress);
     
                return new ReportServiceClient(binding, endpointAddress);
     
            }
            #endregion
     
     
     
     
          
     
            
     
     
     
     
     
     
     
     
     
     
         
            Collection<Canvas> pagesList;
            string instanceID;
            private void btnPritNew_Click(object sender, RoutedEventArgs e)
            {
     
                try
                {
     
                    this.ViewerModel.PropertyChanged -= this.ViewerModel_PropertyChanged;
                    this.PrintReport();
                }
                catch(Exception ex)
                {
                }
     
     
     
            }
     
     
           
     
            
     
     
     
        }
    }
    public class ReportSettingsMaster
    {
        public int CodeId { get; set; }
     
        public string CodeName { get; set; }
     
        public string CodeKey { get; set; }
    }



    Report.cs
    #region [Assemblies References]
    using System;
    using Telerik.Reporting;
    using Telerik.Reporting.Drawing;
    using System.Data;
    using System.Collections.Generic;
    using Telerik.Reporting.Charting;
    using Telerik.Reporting.Charting.Styles;
    using System.Runtime.Serialization;
    using System.IO;
    using System.Text;
    using System.Drawing;
    using System.Linq;
    #endregion
    namespace Telstrat.Reports
    {
        /// <summary>
        /// Summary description for Report1.
        /// </summary>
        public partial class SampleEvaluationsReport : Telerik.Reporting.Report
        {
              DataTable dtResults = new DataTable();
     
            #region [Constructor]
              public SampleEvaluationsReport()
            {
                //Providing the DataSource event for the report         
                InitializeComponent();
     
                for (int i = 0; i < 15; i++)
                {
     
                    dtResults.Columns.Add(" Column " + i.ToString(), i == 0 ? typeof(string) : typeof(int));
                }
     
                for (int i = 0; i < 70; i++)
                {
                    Random r = new Random();
                    dtResults.Rows.Add(new object[] { "Chart Series "+i.ToString(),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),
                                                      r.Next(100),                                                 
                                                      r.Next(100) }
                                                       );
                }
                generateChart(dtResults,1,2); 
     
     
            }
            #endregion
     
            #region [generateChart]
     
            private float _standardHeight = 11.7f;
            private double _reportMargin = 0;
            private int formatedLabelmaxlength = 0;
            private int formatedLabelmaxdepth = 0;
            private string formatTextWrap(string sourceText)
            {
                int divider = 80;
     
                string[] sourceTextlist = sourceText.Split(' ');
     
                int lineCount = 0;
                string strResultText = string.Empty;
                string strLine = string.Empty;
                foreach (string strWord in sourceTextlist)
                {
     
                    if (strLine.Length < divider)
                    {
                        strLine += strWord + " ";
                        formatedLabelmaxlength = formatedLabelmaxlength < strLine.Length ? strLine.Length : formatedLabelmaxlength;
                    }
                    else
                    {
                        formatedLabelmaxlength = formatedLabelmaxlength < strLine.Length ? strLine.Length : formatedLabelmaxlength;
                        lineCount++;
                        strResultText += strLine + "\n";
                        strLine = string.Empty;
     
                    }
     
     
                }
     
                if (strLine.Length > 0)
                {
                    strResultText += strLine;
                }
     
                formatedLabelmaxdepth = formatedLabelmaxdepth < lineCount ? lineCount : formatedLabelmaxdepth;
     
     
                return strResultText;
     
     
     
            }
     
     
            private void generateChart(DataTable dtResults, int chartType, int GraphType)
            {
     
                ChartSeriesType CurrentChartType = ChartSeriesType.Bar;
                ChartSeriesOrientation ChartOrientation = ChartSeriesOrientation.Vertical;
                float reportWidth = 5;
                float reportHeight = 5;
                float xAxisMargin = 0f;
                float xAxisLableMargin = 0f;
     
     
     
                int xAxisRotationAngle = 0;
                AlignedPositions xAxisTextAlignedPositions = AlignedPositions.Left;
                AlignedPositions xAxisLabelAlignedPositions = AlignedPositions.Top;
                AlignedPositions xAxisAxisLabel = AlignedPositions.Top;
     
     
                #region Format Data
                for (int i = 0; i < dtResults.Rows.Count; i++)
                {
                    dtResults.Rows[i][0] = formatTextWrap(dtResults.Rows[i][0].ToString());
                }
                #endregion
     
                #region Graph Type
                switch (chartType)
                {
                    case 1://Column
                        CurrentChartType = ChartSeriesType.Bar;
                        ChartOrientation = ChartSeriesOrientation.Vertical;
                        xAxisTextAlignedPositions = AlignedPositions.Left;
                        xAxisLabelAlignedPositions = AlignedPositions.Top;
                        xAxisAxisLabel = AlignedPositions.Top;
                        xAxisRotationAngle = 270;
     
                        break;
                    case 2: //Bar
                        CurrentChartType = ChartSeriesType.Bar;
                        ChartOrientation = ChartSeriesOrientation.Horizontal;
                        xAxisTextAlignedPositions = AlignedPositions.Left;
                        xAxisLabelAlignedPositions = AlignedPositions.Right;
                        xAxisAxisLabel = AlignedPositions.Left;
                        xAxisRotationAngle = 0;
     
                        #region Reverse the Data
     
                        DataTable clonedtResults;
                        clonedtResults = dtResults.Clone();
                        for (int intRow = dtResults.Rows.Count - 1; intRow >= 0; intRow--)
                        {
                            clonedtResults.ImportRow(dtResults.Rows[intRow]);
                        }
                        dtResults.Rows.Clear();
                        foreach (DataRow dr in clonedtResults.Rows)
                        {
                            dtResults.ImportRow(dr);
                        }
     
                        #endregion
                        break;
                    case 3: //Line                   
                        CurrentChartType = ChartSeriesType.Line;
                        ChartOrientation = ChartSeriesOrientation.Vertical;
                        xAxisTextAlignedPositions = AlignedPositions.Left;
                        xAxisLabelAlignedPositions = AlignedPositions.Top;
                        xAxisAxisLabel = AlignedPositions.Top;
                        xAxisRotationAngle = 270;
     
                        break;
                    default: break;
                }
     
     
     
                #endregion
     
     
                int totalBarCount = dtResults.Rows.Count * (dtResults.Columns.Count - 1);
                int maxXAxisTextlength = formatedLabelmaxlength > 80 ? 80 : formatedLabelmaxlength;
                GetChartProperties(ChartOrientation, totalBarCount, maxXAxisTextlength, ref reportWidth, ref reportHeight, ref  xAxisMargin, ref xAxisLableMargin);
     
     
     
                #region Chart Formating
     
                this.chartGeneric.Skin = "Mac";
                this.chartGeneric.AutoLayout = false;            
                this.chartGeneric.AutoTextWrap = false;
                this.chartGeneric.BitmapResolution = 96F;
               
                this.chartGeneric.ImageFormat = System.Drawing.Imaging.ImageFormat.Png;  
                this.chartGeneric.ChartTitle.Visible = false;
     
                this.chartGeneric.PlotArea.Appearance.Position.X = 0;
                this.chartGeneric.PlotArea.Appearance.Position.Y = 0;
                this.chartGeneric.PlotArea.Chart.Appearance.Position.X = 0;
                this.chartGeneric.PlotArea.Chart.Appearance.Position.Y = 0;
     
                this.chartGeneric.PlotArea.EmptySeriesMessage.TextBlock.Text = "There is nothing to display";
                this.chartGeneric.PlotArea.XAxis.AxisLabel.Visible = true;
                this.chartGeneric.PlotArea.YAxis.AxisLabel.Visible = true;
                this.chartGeneric.SeriesOrientation = ChartOrientation;
                this.chartGeneric.PlotArea.XAxis.AxisLabel.Appearance.Dimensions.Margins = new ChartMargins(0);
                this.chartGeneric.PlotArea.XAxis.AxisLabel.Appearance.Dimensions.Paddings = new ChartPaddings(0);
     
                this.chartGeneric.PlotArea.XAxis.AutoShrink = false;
                this.chartGeneric.PlotArea.XAxis.AutoScale = false;
     
     
                this.chartGeneric.PlotArea.XAxis.Appearance.TextAppearance.MaxLength = 255;
                this.chartGeneric.PlotArea.XAxis.Appearance.TextAppearance.AutoTextWrap = AutoTextWrap.False;
                this.chartGeneric.Appearance.TextQuality = TextQuality.SystemDefault;
                this.chartGeneric.PlotArea.XAxis.Appearance.Color = Color.Black;
     
     
                this.chartGeneric.PlotArea.XAxis.LayoutMode = ChartAxisLayoutMode.Between;
                this.chartGeneric.DefaultType = CurrentChartType;
     
                this.chartGeneric.PlotArea.XAxis.AxisLabel.TextBlock.Text =  dtResults.Columns[0].ColumnName;
                this.chartGeneric.PlotArea.YAxis.AxisLabel.TextBlock.Text = "(in numbers) ";
     
     
                this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Top = 50;
                this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Right = 250;
     
                this.chartGeneric.Appearance.BarWidthPercent = totalBarCount > 5 ? 100 : 20;
                this.chartGeneric.Appearance.BarOverlapPercent = -10;
     
     
     
                this.chartGeneric.PlotArea.XAxis.AxisLabel.Appearance.Dimensions.Margins.Left = new Telerik.Reporting.Charting.Styles.Unit(5);
     
     
                this.chartGeneric.PlotArea.XAxis.Appearance.TextAppearance.Position.AlignedPosition = xAxisTextAlignedPositions;
                this.chartGeneric.PlotArea.XAxis.Appearance.LabelAppearance.Position.AlignedPosition = xAxisLabelAlignedPositions;
                this.chartGeneric.PlotArea.XAxis.AxisLabel.Appearance.Position.AlignedPosition = xAxisAxisLabel;
     
     
                this.chartGeneric.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = xAxisRotationAngle;
     
     
                this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Left = 50;
     
                if (ChartOrientation == ChartSeriesOrientation.Vertical)
                {
                    this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Left = 50;
                    this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Bottom = xAxisMargin;
                    this.chartGeneric.PlotArea.XAxis.Appearance.TextAppearance.Dimensions.Margins.Bottom = xAxisLableMargin;
     
                }
                else
                {
     
                    this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Left = xAxisMargin;
                    this.chartGeneric.PlotArea.Appearance.Dimensions.Margins.Bottom = 50;
                    this.chartGeneric.PlotArea.XAxis.Appearance.TextAppearance.Dimensions.Margins.Left = xAxisLableMargin;
     
                }
     
                #endregion
     
                #region Legend Formating
                this.chartGeneric.Legend.Appearance.Position.AlignedPosition = AlignedPositions.TopRight;
                this.chartGeneric.Legend.Appearance.Dimensions.Margins = new ChartMargins(5);
                this.chartGeneric.Legend.Appearance.Dimensions.Paddings = new ChartPaddings(5);
                this.chartGeneric.Legend.Appearance.Overflow = Overflow.Column;
                this.chartGeneric.Legend.Appearance.Dimensions.Width = 75;
                this.chartGeneric.Legend.Appearance.ItemTextAppearance.AutoTextWrap = AutoTextWrap.True;
                this.chartGeneric.Legend.Appearance.Location = LabelLocation.OutsidePlotArea;
                this.chartGeneric.Legend.Appearance.ItemTextAppearance.Position.AlignedPosition = AlignedPositions.Top;
     
                #endregion
     
     
                #region Chart Series
     
                chartGeneric.Series.Clear();
                chartGeneric.DataSource = dtResults;
                List<ChartSeries> chartSeries = new List<ChartSeries>();
                chartGeneric.PlotArea.XAxis.DataLabelsColumn = dtResults.Columns[0].ColumnName.Trim();
                for (int counter = 1; counter < dtResults.Columns.Count; counter++)
                {
                    ChartSeries series = new ChartSeries()
                    {
                        DataYColumn = dtResults.Columns[counter].ColumnName,
                        Name = dtResults.Columns[counter].Caption,
                        YAxisType = ChartYAxisType.Primary,
                        Type = chartGeneric.DefaultType
     
                    };
     
                    //series.Appearance.FillStyle.FillType = FillType.Gradient;
                    series.Appearance.LabelAppearance.LabelLocation = Telerik.Reporting.Charting.Styles.StyleSeriesItemLabel.ItemLabelLocation.Inside;
                    //series.Appearance.TextAppearance.FillStyle.MainColor = Color.White;
                    //series.Appearance.TextAppearance.FillStyle.FillType = FillType.Solid;
                    if (ChartOrientation == ChartSeriesOrientation.Vertical)
                    {
                        series.Appearance.LabelAppearance.Position.AlignedPosition = AlignedPositions.Top;
     
                    }
                    else
                    {
                        series.Appearance.LabelAppearance.Position.AlignedPosition = AlignedPositions.Right;
                    }
                    series.Appearance.BarWidthPercent = 90;
                    series.Appearance.TextAppearance.TextProperties.Color = Color.Black;
                    series.Appearance.TextAppearance.Dimensions.Margins = new ChartMargins(0);
                    series.Appearance.TextAppearance.Dimensions.Paddings = new ChartPaddings(0);
                    //series.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font(FontFamily.GenericSansSerif, 12, GraphicsUnit.Pixel);
     
                    chartSeries.Add(series);
                }
     
                // add the series to the chart, chart to page.
                chartGeneric.Series.AddRange(chartSeries.ToArray());
     
                #endregion
     
                #region Chart Dimensions
     
                this.chartGeneric.Docking = DockingStyle.None;
                this.chartGeneric.Appearance.Position.AlignedPosition = AlignedPositions.Center;
                this.chartGeneric.Location = new PointU(new Telerik.Reporting.Drawing.Unit(0), new Telerik.Reporting.Drawing.Unit(0));
                this.chartGeneric.Width = new Telerik.Reporting.Drawing.Unit(reportWidth, Telerik.Reporting.Drawing.UnitType.Inch);
                this.chartGeneric.Height = new Telerik.Reporting.Drawing.Unit(reportHeight, Telerik.Reporting.Drawing.UnitType.Inch);
     
                //this.chartGeneric.Width = new Telerik.Reporting.Drawing.Unit(8, Telerik.Reporting.Drawing.UnitType.Inch);
                //this.chartGeneric.Height = new Telerik.Reporting.Drawing.Unit(10, Telerik.Reporting.Drawing.UnitType.Inch);
     
                #endregion
     
                #region Page Dimensions
                this.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
                this.PageSettings.Landscape = true;
                this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(8.27, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(11.69f, Telerik.Reporting.Drawing.UnitType.Inch));
     
     
                //this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(reportWidth + 0.5, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(reportHeight + 1.0 + this.pageHeaderSection1.Height.Value, Telerik.Reporting.Drawing.UnitType.Inch));
     
                //this.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
                //Setting the page Width and Height
     
                // this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(7.0f + 0.5, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(10.25f, Telerik.Reporting.Drawing.UnitType.Inch));
     
     
     
                //if (GraphType == 2)
                //{
                //    this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(reportWidth + 0.5, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(_standardHeight, Telerik.Reporting.Drawing.UnitType.Inch));
                //}
                //else
                //{
                //    this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(_standardHeight, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(reportHeight + 1.0 + this.pageHeaderSection1.Height.Value, Telerik.Reporting.Drawing.UnitType.Inch));
                //}
     
     
                //this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(10, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(12, Telerik.Reporting.Drawing.UnitType.Inch));
                    //       this.PageSettings.Landscape = true;
    //            this.PageSettings.PaperSize = new Telerik.Reporting.Drawing.SizeU(new Telerik.Reporting.Drawing.Unit(10, Telerik.Reporting.Drawing.UnitType.Inch), new Telerik.Reporting.Drawing.Unit(reportHeight + 1.0 + this.pageHeaderSection1.Height.Value, Telerik.Reporting.Drawing.UnitType.Inch));
     
                #endregion
     
     
     
            }
     
            private void GetChartProperties(ChartSeriesOrientation objChartOrientation, int totalBarCount, int maxXAxisTextlength, ref float reportWidth, ref float reportHeight, ref float xAxisMargin, ref float xAxisLableMargin)
            {
     
                if (objChartOrientation == ChartSeriesOrientation.Horizontal)
                {
                    float tempwidth = reportWidth;
                    reportWidth = reportHeight;
                    reportHeight = tempwidth;
                }
     
     
     
                xAxisMargin = (maxXAxisTextlength * 7) + 60;
                xAxisLableMargin = (maxXAxisTextlength * 6) + 10;
     
     
     
                if (objChartOrientation == ChartSeriesOrientation.Vertical)
                {
                    if (maxXAxisTextlength > 50)
                    {
                        reportHeight += (float)(6 - (reportWidth - (maxXAxisTextlength * 0.0625)));
                    }
                    if (formatedLabelmaxdepth < totalBarCount)
                    {
     
                        if (totalBarCount > 5)
                        {
                            //reportWidth += (float)reportWidth + (totalBarCount - 3) / 9;
                            reportWidth += (float)reportWidth + (totalBarCount * .3f);
                        }
                    }
                    else
                    {
                        if (formatedLabelmaxdepth > 3)
                        {
                            reportWidth += (float)reportWidth + (formatedLabelmaxdepth * .1f);
                        }
                    }
                }
                else
                {
                    if (maxXAxisTextlength > 50)
                    {
                        reportWidth += (float)(8 - (reportWidth - (maxXAxisTextlength * 0.0625)));
     
                    }
                    if (formatedLabelmaxdepth < totalBarCount)
                    {
     
                        if (totalBarCount > 5)
                        {
                            // reportHeight += (float)reportHeight + (totalBarCount - 5) / 9;
                            reportHeight += (float)reportHeight + (totalBarCount * .3f);
     
                        }
                    }
                    else
                    {
                        if (formatedLabelmaxdepth > 3)
                        {
                            reportHeight += (float)reportHeight + (formatedLabelmaxdepth * .1f);
                        }
                    }
                }
     
     
     
                reportHeight = reportHeight > 300 ? 300 : reportHeight;
                reportWidth = reportWidth > 300 ? 300 : reportWidth;
     
            }
     
            #endregion
        }
    }



    Thanks.

    regards,
    Kiran

    Attached files

    Reply

  • Steve Steve admin's avatar

    Posted on Feb 6, 2012 (permalink)

    Hello Kiran,

    We were not able to reproduce such problem on our end. Find attached the report we used and the exported PDF file. If you're still having problems, we would appreciate if you open a support ticket and attach a sample project (the whole thing) so we can run it as is. You can also upload it to a free file hosting and provide a link here.

    Kind regards,
    Steve
    the Telerik team
    Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
    Attached files

    Reply

  • Kiran avatar

    Posted on Feb 8, 2012 (permalink)

    Hi Steve ,

    I am still facing this problem i have attached the ReportsSample projects in the below link.
    http://www.box.com/s/gyekyhd0mteelimhuk30
     
    For large reports i need to click the external  print button repeatedly and while printing to a .xps file  using  XPS Printer  the chart area appears blank in some pages. This happens for Column chart and line chart .  some of the pages appear blank in the printed report. Please go through the code source file and suggest any necessary .

    Thank you.
    Kiran


    Reply

  • Peter Peter admin's avatar

    Posted on Feb 13, 2012 (permalink)

    Hello Kiran,

    We have verified the issue and can confirm that such a problem really exists. The issue is logged in our bug tracking system and will be fixed for the subsequent official release or an internal build. 

    In the meantime our suggestion is to set the Silverlight report viewer UseNativePrinting property to False.

    Kind regards,
    Peter
    the Telerik team
    Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>

    Reply

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Reporting > Telerik Reporting > Telerik reports huge chart print issue
Related resources for "Telerik reports huge chart print issue"

Features  |  Documentation  |  Demos  |  Telerik TV  |  Knowledge Base  |  Code Library  |  Step-by-step Tutorial  |  Blogs  |  Whitepaper  ]