Lijst Gebruik bestemmingsstijlen
Deze tutorial begeleidt u bij het gebruik van de functie List Use Destination Styles van Aspose.Words voor .NET. Met deze functie kunt u Word-documenten samenvoegen en toevoegen terwijl u de lijststijlen van het doeldocument gebruikt.
Vereisten
Zorg ervoor dat u over het volgende beschikt voordat u begint:
- Aspose.Words voor .NET geïnstalleerd. Je kunt het downloaden van de Aspose-website of installeren via NuGet.
- Visual Studio of een andere C#-ontwikkelomgeving.
Stap 1: Initialiseer de documentmappen
Eerst moet u het pad naar uw documentmap instellen. Wijzig de waarde van dedataDir
variabele naar het pad waar uw documenten zich bevinden.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Stap 2: Laad de bron- en doeldocumenten
Vervolgens moet u de bron- en doeldocumenten laden met behulp van Aspose.WordsDocument
klas. Werk de bestandsnamen bij in hetDocument
constructor volgens uw documentnamen.
Document srcDoc = new Document(dataDir + "Document source.docx");
Document dstDoc = new Document(dataDir + "Document destination with list.docx");
Stap 3: Stel het brondocument in op Doorgaan na het doeldocument
Om ervoor te zorgen dat de inhoud van het brondocument doorgaat na het einde van het doeldocument, moet u deSectionStart
eigenschap van de eerste sectie in het brondocumentSectionStart.Continuous
.
srcDoc.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;
Stap 4: Lijstopmaak afhandelen
Om de lijstopmaak af te handelen, herhaalt u elke alinea in het brondocument en controleert u of het een lijstitem is. Als dit het geval is, vergelijkt u de lijst-ID met de bestaande lijsten in het bestemmingsdocument. Als er een lijst met dezelfde ID bestaat, maakt u een kopie van de lijst in het brondocument en werkt u de lijstindeling van de alinea bij om de gekopieerde lijst te gebruiken.
Dictionary<int, Aspose.Words.Lists.List> newLists = new Dictionary<int, Aspose.Words.Lists.List>();
foreach (Paragraph para in srcDoc.GetChildNodes(NodeType.Paragraph, true))
{
if (para.IsListItem)
{
int listId = para.ListFormat.List.ListId;
if (dstDoc.Lists.GetListByListId(listId) != null)
{
Aspose.Words.Lists.List currentList;
if (newLists.ContainsKey(listId))
{
currentList = newLists[listId];
}
else
{
currentList = srcDoc.Lists.AddCopy(para.ListFormat.List);
newLists.Add(listId, currentList);
}
para.ListFormat.List = currentList;
}
}
}
Stap 5: Voeg het brondocument toe aan het doeldocument
Nu kunt u het brondocument aan het doeldocument toevoegen met behulp van deAppendDocument
werkwijze van deDocument
klas. DeImportFormatMode.UseDestinationStyles
parameter zorgt ervoor dat de lijststijlen van het doeldocument worden gebruikt tijdens de toevoegbewerking.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
Stap 6: Bewaar het definitieve document
Sla ten slotte het samengevoegde document op met de functie Lijstgebruik bestemmingsstijlen ingeschakeld met behulp van deSave
werkwijze van deDocument
klas.
dstDoc.Save(dataDir + "JoinAndAppendDocuments.ListUseDestinationStyles.docx");
Voorbeeldbroncode voor Lijst Gebruik bestemmingsstijlen met Aspose.Words voor .NET
Hier is de volledige broncode voor de functie “List Use Destination Styles” in C# met behulp van Aspose.Words voor .NET:
// Pad naar uw documentmap
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Document source.docx");
Document dstDoc = new Document(dataDir + "Document destination with list.docx");
// Stel het brondocument zo in dat het direct na het einde van het bestemmingsdocument verdergaat.
srcDoc.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;
// Houd de lijsten bij die worden aangemaakt.
Dictionary<int, Aspose.Words.Lists.List> newLists = new Dictionary<int, Aspose.Words.Lists.List>();
foreach (Paragraph para in srcDoc.GetChildNodes(NodeType.Paragraph, true))
{
if (para.IsListItem)
{
int listId = para.ListFormat.List.ListId;
// Controleer of het bestemmingsdocument al een lijst met dit ID bevat. Als dat zo is, dan mag dit
// ervoor zorgen dat de twee lijsten samen worden uitgevoerd. Maak in plaats daarvan een kopie van de lijst in het brondocument.
if (dstDoc.Lists.GetListByListId(listId) != null)
{
Aspose.Words.Lists.List currentList;
// Er bestaat al een nieuw gekopieerde lijst voor deze ID, haal de opgeslagen lijst op,
// en gebruik het voor de huidige paragraaf.
if (newLists.ContainsKey(listId))
{
currentList = newLists[listId];
}
else
{
// Voeg een kopie van deze lijst toe aan het document en bewaar deze voor later gebruik.
currentList = srcDoc.Lists.AddCopy(para.ListFormat.List);
newLists.Add(listId, currentList);
}
// Stel de lijst van deze paragraaf in op de gekopieerde lijst.
para.ListFormat.List = currentList;
}
}
}
// Voeg het brondocument toe aan het einde van het doeldocument.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
dstDoc.Save(dataDir + "JoinAndAppendDocuments.ListUseDestinationStyles.docx");
Dat is het! U hebt de functie Lijstgebruikbestemmingsstijlen met succes geïmplementeerd met Aspose.Words voor .NET. Het uiteindelijke document bevat de samengevoegde inhoud met de lijststijlen uit het doeldocument.