Elenco Usa stili di destinazione

Questo tutorial ti guiderà attraverso il processo di utilizzo della funzionalità Elenco usi stili di destinazione di Aspose.Words per .NET. Questa funzionalità ti consente di unire e aggiungere documenti Word utilizzando gli stili di elenco del documento di destinazione.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  1. Aspose.Words per .NET installato. È possibile scaricarlo dal sito Web Aspose o installarlo tramite NuGet.
  2. Visual Studio o qualsiasi altro ambiente di sviluppo C#.

Passaggio 1: inizializzare le directory dei documenti

Innanzitutto, devi impostare il percorso della directory dei documenti. Modificare il valore didataDir variabile al percorso in cui si trovano i tuoi documenti.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Passaggio 2: caricare i documenti di origine e di destinazione

Successivamente, è necessario caricare i documenti di origine e di destinazione utilizzando Aspose.WordsDocument classe. Aggiorna i nomi dei file nel fileDocument costruttore in base ai nomi dei documenti.

Document srcDoc = new Document(dataDir + "Document source.docx");
Document dstDoc = new Document(dataDir + "Document destination with list.docx");

Passaggio 3: impostare il documento di origine su Continua dopo il documento di destinazione

Per garantire che il contenuto del documento di origine continui dopo la fine del documento di destinazione, è necessario impostare il fileSectionStart proprietà della prima sezione nel documento di origine aSectionStart.Continuous.

srcDoc.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;

Passaggio 4: gestire la formattazione dell’elenco

Per gestire la formattazione dell’elenco, scorrerai ogni paragrafo nel documento di origine e controllerai se si tratta di un elemento dell’elenco. In tal caso, confronterai l’ID dell’elenco con gli elenchi esistenti nel documento di destinazione. Se esiste un elenco con lo stesso ID, creerai una copia dell’elenco nel documento di origine e aggiornerai il formato dell’elenco del paragrafo per utilizzare l’elenco copiato.

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;
        }
    }
}

Passaggio 5: aggiungi il documento di origine al documento di destinazione

Ora puoi aggiungere il documento di origine al documento di destinazione utilizzando il fileAppendDocument metodo delDocument classe. ILImportFormatMode.UseDestinationStyles Il parametro garantisce che gli stili di elenco del documento di destinazione vengano utilizzati durante l’operazione di aggiunta.

dstDoc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);

Passaggio 6: salvare il documento finale

Infine, salva il documento unito con la funzione Elenca usa stili di destinazione abilitata utilizzando il fileSave metodo delDocument classe.

dstDoc.Save(dataDir + "JoinAndAppendDocuments.ListUseDestinationStyles.docx");

Codice sorgente di esempio per List Use Destination Styles utilizzando Aspose.Words per .NET

Ecco il codice sorgente completo per la funzionalità “Elenco utilizza stili di destinazione” in C# utilizzando Aspose.Words per .NET:

	// Percorso della directory dei documenti
	string dataDir = "YOUR DOCUMENT DIRECTORY";

	Document srcDoc = new Document(dataDir + "Document source.docx");
	Document dstDoc = new Document(dataDir + "Document destination with list.docx");
	// Imposta il documento di origine in modo che continui subito dopo la fine del documento di destinazione.
	srcDoc.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;
	// Tieni traccia degli elenchi che vengono creati.
	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;
			// Controlla se il documento di destinazione contiene già un elenco con questo ID. Se lo fa, allora potrebbe
			// far sì che i due elenchi vengano eseguiti insieme. Crea invece una copia dell'elenco nel documento di origine.
			if (dstDoc.Lists.GetListByListId(listId) != null)
			{
				Aspose.Words.Lists.List currentList;
				// Esiste già un elenco appena copiato per questo ID, recupera l'elenco memorizzato,
				// e usalo nel paragrafo corrente.
				if (newLists.ContainsKey(listId))
				{
					currentList = newLists[listId];
				}
				else
				{
					// Aggiungi una copia di questo elenco al documento e memorizzala per riferimento futuro.
					currentList = srcDoc.Lists.AddCopy(para.ListFormat.List);
					newLists.Add(listId, currentList);
				}
				// Imposta l'elenco di questo paragrafo sull'elenco copiato.
				para.ListFormat.List = currentList;
			}
		}
	}
	// Aggiungi il documento di origine alla fine del documento di destinazione.
	dstDoc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
	dstDoc.Save(dataDir + "JoinAndAppendDocuments.ListUseDestinationStyles.docx");

Questo è tutto! Hai implementato con successo la funzionalità Elenco utilizza stili di destinazione utilizzando Aspose.Words per .NET. Il documento finale conterrà il contenuto unito con gli stili di elenco del documento di destinazione.