title: Argument out of Exception unhandled in MigraDoc
body: <pre><code>static void Main(string[] args)
      {
          string saveFileAs = "D:\\Hello.pdf";
          Program p = new Program();
          Document doc = p.CreateDocument();
          PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
          renderer.Document = doc;
          renderer.RenderDocument();
          renderer.PdfDocument.Save("D:\\Hello.pdf");
          Process.Start(saveFileAs);
      }
  
  public Document CreateDocument()
      {
          // Create a new MigraDoc document
          this.document = new Document();
          this.document.Info.Title = "A sample invoice";
          this.document.Info.Subject = "Demonstrates how to create an invoice.";
          this.document.Info.Author = "Chandana Amarnath";
  
          DefineStyles();
  
          CreatePage();
  
          FillContent();
  
          return this.document;
     }
  
  void CreatePage()
      {
          // Each MigraDoc document needs at least one section.
          Section section = this.document.AddSection();
  
          // Put a logo in the header
          Image image = section.Headers.Primary.AddImage("D:\\Cubes.jpg");
          image.Height = "2.5cm";
          image.LockAspectRatio = true;
          image.RelativeVertical = RelativeVertical.Line;
          image.RelativeHorizontal = RelativeHorizontal.Margin;
          image.Top = ShapePosition.Top;
          image.Left = ShapePosition.Right;
          image.WrapFormat.Style = WrapStyle.Through;
  
          // Create footer
          Paragraph paragraph = section.Footers.Primary.AddParagraph();
          // The following one prints at the footer;
          paragraph.AddText("Aldata Inc.");
          paragraph.Format.Font.Size = 9;
          paragraph.Format.Alignment = ParagraphAlignment.Center;
  
          // Create the text frame for the address
          this.addressFrame = section.AddTextFrame();
          this.addressFrame.Height = "3.0cm";
          this.addressFrame.Width = "7.0cm";
          this.addressFrame.Left = ShapePosition.Left;
          this.addressFrame.RelativeHorizontal = RelativeHorizontal.Margin;
          this.addressFrame.Top = "5.0cm";
          this.addressFrame.RelativeVertical = RelativeVertical.Page;
  
          // Put sender in address frame
          paragraph = this.addressFrame.AddParagraph("Aldata-Apollo Inc.");
          paragraph.Format.Font.Name = "Times New Roman";
          paragraph.Format.Font.Size = 7;
          paragraph.Format.SpaceAfter = 3;
  
          // Add the print date field
          paragraph = section.AddParagraph();
          paragraph.Format.SpaceBefore = "8cm";
          paragraph.Style = "Reference";
          paragraph.AddFormattedText("Section Comparator", TextFormat.Bold);
          paragraph.AddTab();
          paragraph.AddText("Date: ");
          paragraph.AddDateField("dd.MM.yyyy");
  
          // Create the item table
          this.table = section.AddTable();
          this.table.Style = "Table";
          this.table.Borders.Color = Color.Parse("Black");
          this.table.Borders.Width = 0.25;
          this.table.Borders.Left.Width = 0.5;
          this.table.Borders.Right.Width = 0.5;
          this.table.Rows.LeftIndent = 0;
  
          //************ Before you can add a row, you must define the columns **********
          Column column = this.table.AddColumn("4cm");
          column.Format.Alignment = ParagraphAlignment.Center;
  
          column = this.table.AddColumn("3cm");
          column.Format.Alignment = ParagraphAlignment.Right;
  
          // Create the header of the table
          Row row = table.AddRow();
          row.HeadingFormat = true;
          row.Format.Alignment = ParagraphAlignment.Center;
          row.Format.Font.Bold = true;
          row.Shading.Color = Color.Parse("White");
  
          row.Cells[0].AddParagraph("Added");
          row.Cells[0].Format.Font.Bold = true;
          row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
          row.Cells[0].MergeRight = 3;
  
          row = table.AddRow();
          row.HeadingFormat = true;
          row.Format.Alignment = ParagraphAlignment.Center;
          row.Format.Font.Bold = true;
          row.Cells[0].AddParagraph("Deleted Items");
          row.Cells[0].Format.Font.Bold = true;
          row.Cells[0].Format.Alignment = ParagraphAlignment.Left;
          row.Cells[0].MergeRight = 3;
  
          this.table.SetEdge(0, 0, 2, 3, Edge.Box, BorderStyle.Single, 0.75, Color.Empty);
      }
  
     void FillContent()
      {
          string xmlFileName = "C:\\Section.xml";
          XPathDocument xPathDocument = new XPathDocument(xmlFileName);
          XPathNavigator item = xPathDocument.CreateNavigator();
  
          XPathNodeIterator iter = item.Select("/Hello/*");
          while (iter.MoveNext())
          {
              string name = iter.Current.Name;
              item = iter.Current;
              Row row1 = this.table.AddRow();
              Row row2 = this.table.AddRow();
  
              row1.TopPadding = 1.5;
              row1.Cells[0].Shading.Color = Color.Parse("Gray");
              row1.Cells[0].VerticalAlignment = VerticalAlignment.Center;
              row1.Cells[0].MergeDown = 1;
              row1.Cells[1].Format.Alignment = ParagraphAlignment.Left;
              row1.Cells[1].MergeRight = 3;
              row1.Cells[0].AddParagraph(item.ToString());
  
              Console.WriteLine(name + "\t:" +item);
          }
          Console.ReadKey();
      }
  </code></pre>
  
  <p>I am writing code for generating my report in PDF using MigraDoc. I have downloaded the code from PDFSharp site. The following has 3 functions DefineStyles(), CreatePage(), FillContent(). I made changes in function CreatePage(), FillContent(); But when I am running the program I am getting error saying </p>
  
  <p><strong>Argument out of Exception: 
  Specified argument was out of the range of valid values.</strong></p>
  
  <p>In the CreatePage() I added 2 rows and 2 columns to a table. And in the FillContent() function I read my XML file. But I am unable to find where I am crossing my index range.</p>
  
  <p><strong>SOLVED</strong> </p>
  
  <p>The problem is when I am setting the table.SetEdge(...). I am accessing the columns that I have not created.
  Thank u all .. :)</p>