Code that creates Table of Contents page:
var builder = new DocumentBuilder(reportDoc);
// Insert a table of contents
var smallRuns = reportDoc.GetChildNodes(NodeType.Run, true);
var collector = new LayoutCollector(reportDoc);
var pageIndex = 2;
foreach (Run run in smallRuns)
{
if (collector.GetStartPageIndex(run) == pageIndex)
{
builder.MoveTo(run);
builder.Font.Size = 30;
builder.Font.Bold = false;
builder.Writeln("Table Of Contents");
builder.Writeln("");
builder.InsertTableOfContents("\\f \\l \"1-3\"");
break;
}
}
builder.InsertBreak(BreakType.PageBreak);
reportDoc.UpdateFields();
Word docx snippet with field: