10

我可以像这样在 Migradoc 中创建一个标题:

  //Create Header
  Paragraph paragraph = section.Headers.Primary.AddParagraph();
  paragraph.AddText("Roto");
  paragraph.Format.Font.Size = 9;
  paragraph.Format.Alignment = ParagraphAlignment.Center;

我可以制作一个像这样的简单表格:

  // Create the HEADER table for the top of every page
  this.table = section.AddTable();
  this.table.Style = "Table";
  this.table.Borders.Color = TableBorder;
  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;

  Column column = this.table.AddColumn("8cm");
  column.Format.Alignment = ParagraphAlignment.Center;

  column = this.table.AddColumn("8cm");
  column.Format.Alignment = ParagraphAlignment.Center;

  // Create the header of the table
  Row row = table.AddRow();
  //row = table.AddRow();
  row.HeadingFormat = true;
  row.Format.Alignment = ParagraphAlignment.Center;
  row.Format.Font.Bold = true;
  row.Shading.Color = TableBlue;

  row.Cells[0].AddParagraph("Rotary");
  row.Cells[0].MergeRight = 1;

  row = table.AddRow();
  row.HeadingFormat = true;
  row.Format.Alignment = ParagraphAlignment.Center;
  row.Format.Font.Bold = true;
  row.Shading.Color = TableBlue;
  row.Cells[0].AddParagraph("Part No.:");
  row.Cells[0].Format.Alignment = ParagraphAlignment.Left;
  row.Cells[1].AddParagraph("Tested by:");
  row.Cells[1].Format.Alignment = ParagraphAlignment.Left;            

  row = table.AddRow();       
  row.Cells[0].MergeRight = 1;

如何将表格放入标题中,使其出现在每一页的顶部?

编辑:所以为了让它工作,我改变了:

this.table = section.AddTable();

至:

this.table = section.Headers.Primary.AddTable();
4

1 回答 1

25

如果您想在每个页面上使用相同的标题:
使用section.Headers.Primary.AddTable()而不是section.Headers.Primary.AddParagraph().

通过设置row.HeadingFormat = true;表格的前 n 行,您可以将此行标记为标题行。当表格增长并跨越几页时,标题行将在每一页上重复(但在“正常”页面正文中,而不是标题区域)。这是标题行的典型用法。如果您不向标题表添加其他行, HeadingFormat = true 将不会有任何效果。

于 2013-08-05T12:26:54.837 回答