I documenti MS Word sono ampiamente utilizzati per conservare e condividere informazioni. In alcuni casi, potrebbe essere necessario dividere i dati da un documento di Word che potrebbe trovarsi in sezioni o pagine diverse. Inoltre, potrebbe essere necessario dividere le pagine di un singolo documento in più documenti. In base a tali scenari, questo articolo mira a mostrare come dividere i documenti di MS Word a livello di codice utilizzando C#.
- API C# per dividere documenti MS Word
- Dividi i documenti di Word per sezione usando C#
- Dividi i documenti di Word pagina per pagina usando C#
- Usa un intervallo di pagine per dividere i documenti di Word usando C#
API C# per dividere documenti MS Word
Aspose.Words for .NET è una potente API di elaborazione testi che ti consente di creare e manipolare documenti MS Word usando C# o VB.NET. Insieme a ciò, ti consente anche di dividere i documenti MS Word per sezione, pagina o intervallo di pagine. Puoi scaricare l’API o installarla all’interno della tua applicazione utilizzando NuGet.
PM> Install-Package Aspose.Words
Dividi i documenti di Word per sezione usando C#
Le sezioni si riferiscono alle parti di un documento in cui è possibile applicare una formattazione diversa. Una sezione può essere composta da una singola pagina, un intervallo di pagine o l’intero documento. Le interruzioni di sezione vengono utilizzate per dividere un documento in più sezioni. Di seguito sono riportati i passaggi per dividere un documento di Word in base alle sue sezioni usando Aspose.Words per .NET.
- Carica il documento di Word usando la classe Document.
- Scorri le sezioni della pagina usando la proprietà Document.Sections.
- Clona la sezione in un nuovo oggetto Sezione.
- Crea un nuovo oggetto Documento.
- Aggiungi la sezione nel nuovo Document usando il metodo Document.Sections.Add(Section).
- Salva i documenti usando il metodo Document.Save(String).
L’esempio di codice seguente mostra come dividere i documenti di MS Word per sezioni usando C#.
// Apri un documento di Word
Document doc = new Document("document.docx");
for (int i = 0; i < doc.Sections.Count; i++)
{
// Dividi un documento in parti più piccole, in questo caso divise per sezione
Section section = doc.Sections[i].Clone();
// Crea un nuovo documento
Document newDoc = new Document();
newDoc.Sections.Clear();
Section newSection = (Section)newDoc.ImportNode(section, true);
newDoc.Sections.Add(newSection);
// Salva ogni sezione come un documento separato
newDoc.Save($"splitted_{i}.docx");
}
Dividi i documenti di Word pagina per pagina usando C#
Potrebbe verificarsi il caso in cui un documento Word contiene un tipo simile di informazioni su ciascuna pagina come fatture o ricevute. In tal caso, puoi dividere le pagine del documento per salvare ogni fattura come documento separato. Per dividere i documenti pagina per pagina, puoi usare la classe helper DocumentPageSplitter basata su Aspose.Words per .NET. Puoi semplicemente copiare la classe all’interno del tuo progetto e dividere i documenti di Word pagina per pagina seguendo i passaggi seguenti.
- Carica il documento di Word usando la classe Document.
- Crea un oggetto della classe DocumentPageSplitter e inizializzalo con l’oggetto Document.
- Scorri le pagine del documento.
- Estrarre ogni pagina in un nuovo oggetto Document utilizzando il metodo DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
- Salva ogni documento usando il metodo Document.Save(String).
Nell’esempio di codice seguente viene illustrato come dividere il documento di Word per pagine usando C#.
// Apri un documento di Word
Document doc = new Document("Document.docx");
// Crea e inizializza il divisore di pagina del documento
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Salva ogni pagina come un documento separato
for (int page = 1; page <= doc.PageCount; page++)
{
Document pageDoc = splitter.GetDocumentOfPage(page);
pageDoc.Save($"spliteed_{page}.docx");
}
Dividi i documenti di Word per intervallo di pagine usando C#
Puoi anche specificare un intervallo di pagine per dividerlo dal documento originale utilizzando la classe DocumentPageSplitter. Ad esempio, se è necessario dividere le pagine da 2 a 4, è sufficiente specificare l’indice della pagina iniziale e finale nel metodo DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).
L’esempio di codice seguente mostra come dividere un intervallo di pagine da un documento di Word usando C#.
// Apri un documento di Word
Document doc = new Document("document.docx");
// Crea e inizializza il divisore di pagina del documento
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Ottieni l'intervallo di pagine
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");
Conclusione
In questo articolo, hai imparato come dividere i documenti di MS Word a livello di codice usando C#. Gli scenari di suddivisione dei documenti di Word per sezioni, pagine e intervalli di pagine sono stati discussi insieme ad esempi di codice. Puoi esplorare di più su Aspose.Words per .NET usando la documentazione.