Ignore the title in TOC

I am generating a document that contains a title as well as several levels of nested sections and sub-sections. I want to include a table of contents. However, in addition to the Heading levels specified, the TOC is also including the title. How can I exclude the title from the TOC?
Here is my code to generate the document:

public void DocWithTOC()
{
    // start with a blank document
    var doc = new Document();
    var builder = new DocumentBuilder(doc);
    // add a title. this should not be in the TOC.
    builder.CurrentParagraph.AppendChild(new Run(doc) { Text = "Document Title" });
    builder.CurrentParagraph.ParagraphFormat.StyleIdentifier = StyleIdentifier.Title;
    // add TOC
    builder.InsertTableOfContents("\\o \"1-1\" \\h \\z \\u"); // \o "1-1" --> only apply TOC to Heading 1 elements
                                                            // add first section (heading1). this should be in the TOC.
    var para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "Section 1" });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
    // add first section content.
    para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "This is the content under the first section. The header is included in the TOC." });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Normal;
    // add a sub-section (heading2). should not be in TOC.
    para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "Subsection 1.1" });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
    // add first sub-section content.
    para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "This is the content under the first sub-section of the first section. The header is NOT in the TOC." });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Normal;
    // add second section. this should be in the TOC.
    para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "Section 2" });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
    // add second section content.
    para = builder.InsertParagraph();
    para.AppendChild(new Run(doc) { Text = "The second section also has content. The header is included in the TOC." });
    para.ParagraphFormat.StyleIdentifier = StyleIdentifier.Normal;
    // apply TOC via Aspose.Words API
    doc.UpdateFields();
    // save to My Documents folder
    var myDocsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
    doc.Save(Path.Combine(myDocsPath, "AsposeTOC.docx"));
}

Notice that Document Title is included in the TOC of the attached document.
I am using Aspose.Words version 17.1.0.

Hi Dallas,

Thanks for your inquiry. Can you please try running the following code and see if it meets your requirement?

Document doc = new Document(MyDir + @"AsposeTOC.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
builder.Writeln();
builder.Writeln();
builder.InsertTableOfContents("TOC \\o \"2 - 3\" \\h \\z \\t \"Heading 1, 1");
doc.UpdateFields();
doc.Save(MyDir + @"17.1.0.docx");

Best regards,

This gets me close. I don’t want Headings 2-3 in my TOC, so the format string of
"\h \z \t “Heading 1, 1” seems to do the trick.

Thanks for your reply.

Hi Dallas,

It is great you were able to find what you were looking for. Please let us know any time you have any further queries.

Best regards.