public void MakeDocument(ReportDocument reportDocument) { if (core == null) { return; } TextStyle.ResetStyles(); // setup default margins for the document (units of 1/100 inch) reportDocument.DefaultPageSettings.Margins.Top = 50; reportDocument.DefaultPageSettings.Margins.Bottom = 50; reportDocument.DefaultPageSettings.Margins.Left = 75; reportDocument.DefaultPageSettings.Margins.Right = 75; // setup the global TextStyles TextStyle.Heading1.FontFamily = new FontFamily("Tahoma"); TextStyle.Heading1.Brush = Brushes.Black; TextStyle.Heading1.SizeDelta = 5.0f; TextStyle.TableHeader.Brush = Brushes.Black; TextStyle.TableHeader.BackgroundBrush = Brushes.LightGray; TextStyle.TableRow.BackgroundBrush = Brushes.White; TextStyle.Normal.Size = 11.0f; TextStyle.TableRow.Size = 9.0f; TextStyle.TableHeader.Size = 9.0f; TextStyle.TableHeader.Bold = false; // add some white-space to the page. By adding a 1/10 inch margin to the bottom of every line, quite a bit of white space will be added TextStyle.Normal.MarginBottom = 0.1f; // create a builder to help with putting the table together. ReportBuilder builder = new ReportBuilder(reportDocument); // add a simple page header and footer that is the same on all pages. builder.AddPageHeader("Strategy Report [" + core.StockName + "]", String.Empty, "page %p"); builder.AddPageFooter(String.Empty, DateTime.Now.ToLongDateString(), String.Empty); // begin layout builder.StartLinearLayout(Direction.Vertical); AddQuoteSection(reportDocument, builder); AddStrategySection(reportDocument, builder); AddNotesSection(reportDocument, builder); AddSummarySection(reportDocument, builder); AddGraphSection(reportDocument, builder); // end layout builder.FinishLinearLayout(); }