Extract table of contents

GroupDocs.Parser allows to extract table of contents from Microsoft Word (DOC, DOCX etc), PDF documents and Ebooks.

Extract table of contents

To extract TOC from documents, please use the GetToc method:

IEnumerable<TocItem> GetToc()

TocItem class has the following members:

MemberDescription
DepthThe depth level.
PageIndexThe page index.
TextThe text.
TextReader ExtractText()Extract a text from the document to which TocItem object refers. For detail, see Extract Text By Table of Contents Item

Here are the steps to extract extract table of contents from the document:

  • Instantiate Parser object for the initial document;
  • Call GetToc method and obtain collection of TocItem objects;
  • Check if collection isn’t null (table of contents  extraction is supported for the document);
  • Iterate through the collection and get page index to extract a page text from the document.

The following example shows how to extract table of contents from CHM file:

// Create an instance of Parser class
using (Parser parser = new Parser(filePath))
{
    // Check if text extraction is supported
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Check if toc extraction is supported
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // Get table of contents
    IEnumerable<TocItem> toc = parser.GetToc();
    // Iterate over items
    foreach (TocItem i in toc)
    {
        // Print the Toc text
        Console.WriteLine(i.Text);
        // Check if page index has a value
        if (i.PageIndex == null)
        {
            continue;
        }
        // Extract a page text
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

More resources

Advanced usage topics

To learn more about document data extraction features and get familiar how to extract text, images, forms and more, please refer to the advanced usage section.

GitHub examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free online document parser App

Along with full featured .NET library we provide simple, but powerful free Apps.

You are welcome to extract text, metadata and images from PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Parser App.