public void RenderRPLPage(RPLReport report, bool headerInBody, bool suppressOutlines)
        {
            string         key            = null;
            LayoutEngine   layoutEngine   = new LayoutEngine(report, headerInBody, this.m_streamDelegate);
            RPLPageContent rPLPageContent = report.RPLPaginatedPages[0];

            this.m_excel.GenerateWorksheetName(rPLPageContent.PageLayout.PageName);
            RPLReportSection nextReportSection = rPLPageContent.GetNextReportSection();

            this.AddBackgroundImage(rPLPageContent, nextReportSection);
            Reader.ReadReportMeasurements(report, layoutEngine, suppressOutlines, nextReportSection);
            try
            {
                layoutEngine.RenderPageToExcel(this.m_excel, key, this.m_sharedBorderCache, this.m_sharedImageCache);
                if (layoutEngine.ScalabilityCache != null)
                {
                    this.m_totalScaleTimeMs += layoutEngine.ScalabilityCache.ScalabilityDurationMs;
                    this.m_peakMemoryUsageKB = Math.Max(this.m_peakMemoryUsageKB, layoutEngine.ScalabilityCache.PeakMemoryUsageKBytes);
                }
            }
            finally
            {
                layoutEngine.Dispose();
            }
        }