DocumentUpdateListLabels Method |
Namespace: Aspose.Words
This method updates list label properties such as LabelValue and LabelString for each ListLabel object in the document.
Also, this method is sometimes implicitly called when updating fields in the document. This is required because some fields that may reference list numbers (such as TOC or REF) need them be up-to-date.
Document doc = new Document(MyDir + "Rendering.docx"); doc.UpdateListLabels(); int listParaCount = 1; foreach (Paragraph paragraph in doc.GetChildNodes(NodeType.Paragraph, true).OfType<Paragraph>()) { // Find if we have the paragraph list. In our document our list uses plain arabic numbers, // which start at three and ends at six if (paragraph.ListFormat.IsListItem) { Console.WriteLine("Paragraph #{0}", listParaCount); // This is the text we get when actually getting when we output this node to text format // The list labels are not included in this text output. Trim any paragraph formatting characters string paragraphText = paragraph.ToString(SaveFormat.Text).Trim(); Console.WriteLine("Exported Text: " + paragraphText); ListLabel label = paragraph.ListLabel; // This gets the position of the paragraph in current level of the list. If we have a list with multiple level then this // will tell us what position it is on that particular level Console.WriteLine("Numerical Id: " + label.LabelValue); // Combine them together to include the list label with the text in the output Console.WriteLine("List label combined with text: " + label.LabelString + " " + paragraphText); listParaCount++; } }