Extract table of contents from Microsoft Office Word documents
Extract table of contents from Microsoft Office Word documents
Leave feedback
To extract table of contents from Microsoft Office Word document GetToc method is used. Table of contents is generated by paragraphs with H1-H9 build-in styles.
Warning
GetToc method returns null value if table of contents extraction isn’t supported for the document. For example, table of contents extraction isn’t supported for TXT files. Therefore, for TXT file GetToc method returns null. If Microsoft Office Word document has no table of contents, GetToc method returns an empty collection.
GetToc method returns a collection of TocItem objects. TocItem.GetText method returns a text from the chapter to which table of contents item refers (without sub-chapters). For example, “Heading 1.2” from the page
Here are the steps to extract a text by an item of table of contents:
Instantiate Parser object for the initial document;
Call GetToc method and obtain the collection of TocItem objects;
Iterate through the collection and extract a text.
The following example shows how to extract a text by an item of table of contents:
// Create an instance of Parser classusing(Parserparser=newParser(Constants.SampleDocxWithToc)){// Get table of contentsIEnumerable<TocItem>tocItems=parser.GetToc();// Iterate over itemsforeach(TocItemtocItemintocItems){// Print the text of the chapterusing(TextReaderreader=tocItem.ExtractText()){Console.WriteLine("----");Console.WriteLine(reader.ReadToEnd());}}}
More resources
GitHub examples
You may easily run the code above and see the feature in action in our GitHub examples:
Along with full featured .NET library we provide simple, but powerful free Apps.
You are welcome to parse documents and extract data from PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Parser App.
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.