We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

How to get List Label using .NET

image.png (14.9 KB)

how get digits from paragraphs? [0],[1],[2]?

paragraph.GetText() return simple text, without left digits


Please use ListLabel.LabelString property to get the string representation of list label. Following code example shows how to extract the label of each paragraph in a list as a value or a String.

Document doc = new Document(MyDir + "Rendering.docx");

NodeCollection paras = doc.GetChildNodes(NodeType.Paragraph, true);

// Find if we have the paragraph list. In our document our list uses plain arabic numbers,
// which start at three and ends at six
foreach (Paragraph paragraph in paras.OfType<Paragraph>().Where(p => p.ListFormat.IsListItem))
    Console.WriteLine($"List item paragraph #{paras.IndexOf(paragraph)}");

    // 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($"\tExported 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($"\tNumerical Id: {label.LabelValue}");

    // Combine them together to include the list label with the text in the output
    Console.WriteLine($"\tList label combined with text: {label.LabelString} {paragraphText}");