Working with Lists
A list in a Microsoft Word document is a set of list formatting properties. Lists can be used in your documents to format, arrange, and emphasize text. Lists are a great way to organize data in documents, and they make it easier for readers to understand key points.
Each list can have up to 9 levels and formatting properties, such as number style, start value, indent, tab position etc are defined separately for each level.
This topic describes how to work programmatically with lists using Aspose.Words.
Creating Lists by Applying List Formatting
Aspose.Words allows the easy creation of lists by applying list formatting. DocumentBuilder provides the DocumentBuilder.list_format property that returns a ListFormat object. This object has several methods to start and end a list and to increase/decrease the indent. There are two general types of lists in Microsoft Word: bulleted and numbered.
- To start a bulleted list, call ListFormat.apply_bullet_default.
- To start a numbered list, call ListFormat.apply_number_default.
The bullet or number and formatting are added to the current paragraph and all further paragraphs created using DocumentBuilder until ListFormat.remove_numbers is called to stop bulleted list formatting.
In Word documents, lists may consist of up to nine levels. List formatting for each level specifies what bullet or number is used, left indent, space between the bullet and text etc. The following methods change the list level and apply the new level’s formatting properties:
- To increase the list level of the current paragraph by one level, call ListFormat.list_indent
- To decrease the list level of the current paragraph by one level, call ListFormat.list_outdent
The methods change the list level and apply the formatting properties of the new level.
Below example shows how to build a multilevel list.
Specify Formatting for a List Level
List-level objects are created automatically when a list is created. Use the properties and methods of the ListLevel class to control the formatting of individual levels of a list.
Restart List for each Section
You can restart a list for each section using the is_restart_at_each_section property property. Note that this option is supported only in RTF, DOC and DOCX document formats. This option will be written to DOCX only if OoxmlCompliance is higher then Ecma376.
The following code example shows how to create a list and restart it for each section: