AddCopy
Contents
[
Hide
]ListCollection.AddCopy method
Creates a new list by copying the specified list and adding it to the collection of lists in the document.
public List AddCopy(List srcList)
Parameter | Type | Description |
---|---|---|
srcList | List | The source list to copy from. |
Return Value
The newly created list.
Remarks
The source list can be from any document. If the source list belongs to a different document, a copy of the list is created and added to the current document.
If the source list is a reference to or a definition of a list style, the newly created list is not related to the original list style.
Examples
Shows how to create a document with a sample of all the lists from another document.
public void PrintOutAllLists()
{
Document srcDoc = new Document(MyDir + "Rendering.docx");
Document dstDoc = new Document();
DocumentBuilder builder = new DocumentBuilder(dstDoc);
foreach (List srcList in srcDoc.Lists)
{
List dstList = dstDoc.Lists.AddCopy(srcList);
AddListSample(builder, dstList);
}
dstDoc.Save(ArtifactsDir + "Lists.PrintOutAllLists.docx");
}
private static void AddListSample(DocumentBuilder builder, List list)
{
builder.Writeln("Sample formatting of list with ListId:" + list.ListId);
builder.ListFormat.List = list;
for (int i = 0; i < list.ListLevels.Count; i++)
{
builder.ListFormat.ListLevelNumber = i;
builder.Writeln("Level " + i);
}
builder.ListFormat.RemoveNumbers();
builder.Writeln();
}
Shows how to restart numbering in a list by copying a list.
Document doc = new Document();
// A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
// We can create nested lists by increasing the indent level.
// We can begin and end a list by using a document builder's "ListFormat" property.
// Each paragraph that we add between a list's start and the end will become an item in the list.
// Create a list from a Microsoft Word template, and customize its first list level.
List list1 = doc.Lists.Add(ListTemplate.NumberArabicParenthesis);
list1.ListLevels[0].Font.Color = Color.Red;
list1.ListLevels[0].Alignment = ListLevelAlignment.Right;
// Apply our list to some paragraphs.
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("List 1 starts below:");
builder.ListFormat.List = list1;
builder.Writeln("Item 1");
builder.Writeln("Item 2");
builder.ListFormat.RemoveNumbers();
// We can add a copy of an existing list to the document's list collection
// to create a similar list without making changes to the original.
List list2 = doc.Lists.AddCopy(list1);
list2.ListLevels[0].Font.Color = Color.Blue;
list2.ListLevels[0].StartAt = 10;
// Apply the second list to new paragraphs.
builder.Writeln("List 2 starts below:");
builder.ListFormat.List = list2;
builder.Writeln("Item 1");
builder.Writeln("Item 2");
builder.ListFormat.RemoveNumbers();
doc.Save(ArtifactsDir + "Lists.RestartNumberingUsingListCopy.docx");
See Also
- class List
- class ListCollection
- namespace Aspose.Words.Lists
- assembly Aspose.Words