Can you tell me how it is possible to retrieve the number associated with a specific paragraph in the numbering format style applied to that paragraph.
Getting the paragraph index is easy but if the number format say N.N.N has been applied how can I get the value e.g. 1.2.2?
Hi Colin,
Thanks for your inquiry. Please use ListLabel.LabelString property to get a string representation of list label. See the following code example for your kind reference. Please let us know if you have any more queries.
Document doc = new Document(MyDir + "in.docx");
doc.UpdateListLabels();
int listParaCount = 1;
foreach (Paragraph paragraph in 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.
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++;
}
}
Hi Tahir,
I got it working - many thanks. However, I discovered that I didn’t need to access the paragraph ListLabel property at all. It seems that just calling the document’s UpdateListLabels() method has the effect of prefixing the numbering label to the paragraph text - is this as expected?
Hi Colin,
Yes, that is correct and is the expected behavior.
Best Regards,