Word Dokumente aufteilen

MS Word Dokumente werden häufig zum Aufbewahren und Teilen von Informationen verwendet. In einigen Fällen müssen Sie möglicherweise die Daten aus einem Word Dokument aufteilen, das sich möglicherweise in verschiedenen Abschnitten oder Seiten befindet. Außerdem müssen Sie möglicherweise die Seiten eines einzelnen Dokuments in mehrere Dokumente aufteilen. In Übereinstimmung mit solchen Szenarien soll dieser Artikel Ihnen zeigen, wie Sie MS Word Dokumente programmgesteuert mit C# aufteilen.

C# API zum Aufteilen von MS Word Dokumenten

Aspose.Words for .NET ist eine leistungsstarke Textverarbeitungs-API, mit der Sie MS Word Dokumente mit C# oder VB.NET erstellen und bearbeiten können. Außerdem können Sie MS Word Dokumente nach Abschnitt, Seite oder Seitenbereich aufteilen. Sie können die API herunterladen oder sie mit NuGet in Ihrer Anwendung installieren.

PM> Install-Package Aspose.Words

Aufteilen von Word Dokumenten nach Abschnitten mit C#

Abschnitte beziehen sich auf die Teile eines Dokuments, in denen unterschiedliche Formatierungen angewendet werden können. Ein Abschnitt kann aus einer einzelnen Seite, einem Seitenbereich oder dem gesamten Dokument bestehen. Die Abschnittsumbrüche werden verwendet, um ein Dokument in mehrere Abschnitte aufzuteilen. Im Folgenden sind die Schritte zum Aufteilen eines Word Dokuments basierend auf seinen Abschnitten mit Aspose.Words for .NET aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie MS Word Dokumente mithilfe von C# nach Abschnitten aufteilen.

// Öffnen Sie ein Word Dokument
Document doc = new Document("document.docx"); 

for (int i = 0; i < doc.Sections.Count; i++)
{
	// Teilen Sie ein Dokument in kleinere Teile auf, in diesem Fall nach Abschnitten
	Section section = doc.Sections[i].Clone();

  // Erstellen Sie ein neues Dokument
	Document newDoc = new Document();
	newDoc.Sections.Clear();

	Section newSection = (Section)newDoc.ImportNode(section, true);
	newDoc.Sections.Add(newSection);

	// Speichern Sie jeden Abschnitt als separates Dokument
	newDoc.Save($"splitted_{i}.docx");
}

Teilen Sie Word Dokumente Seite für Seite mit C# auf

Es kann vorkommen, dass ein Word Dokument auf jeder Seite ähnliche Informationen enthält, z. B. Rechnungen oder Quittungen. In einem solchen Fall können Sie die Seiten des Dokuments teilen, um jede Rechnung als separates Dokument zu speichern. Um die Dokumente Seite für Seite aufzuteilen, können Sie die Hilfsklasse DocumentPageSplitter basierend auf Aspose.Words for .NET verwenden. Sie können die Klasse einfach in Ihr Projekt kopieren und die Word Dokumente Seite für Seite aufteilen, indem Sie die folgenden Schritte ausführen.

  • Laden Sie das Word Dokument mit der Klasse Document.
  • Erstellen Sie ein Objekt der DocumentPageSplitter Klasse und initialisieren Sie es mit dem Document objekt.
  • Durchlaufen Sie die Seiten des Dokuments.
  • Extrahieren Sie jede Seite mithilfe der Methode DocumentPageSplitter.GetDocumentOfPage(int PageIndex) in ein neues Document objekt.
  • Speichern Sie jedes Dokument mit der methode Document.Save(String).

Das folgende Codebeispiel zeigt, wie Sie das Word Dokument mithilfe von C# nach Seiten aufteilen.

// Öffnen Sie ein Word Dokument
Document doc = new Document("Document.docx");

// Erstellen und initialisieren Sie den Seitenteiler des Dokuments
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Speichern Sie jede Seite als separates Dokument
for (int page = 1; page <= doc.PageCount; page++)
{
	Document pageDoc = splitter.GetDocumentOfPage(page);
	pageDoc.Save($"spliteed_{page}.docx");
}

Aufteilen von Word Dokumenten nach Seitenbereich mit C#

Sie können auch einen Seitenbereich angeben, um ihn mithilfe der DocumentPageSplitter Klasse vom Originaldokument zu trennen. Wenn Sie beispielsweise die Seiten von 2 auf 4 aufteilen müssen, geben Sie einfach den Index der Start und Endseite in der Methode DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex) an.

Das folgende Codebeispiel zeigt, wie ein Seitenbereich mithilfe von C# aus einem Word Dokument geteilt wird.

// Öffnen Sie ein Word Dokument
Document doc = new Document("document.docx");

// Seitenteiler für Dokumente erstellen und initialisieren
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Holen Sie sich den Seitenbereich
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

Fazit

In diesem Artikel haben Sie gelernt, wie Sie MS Word Dokumente programmgesteuert mit C# aufteilen. Die Szenarien zum Aufteilen von Word Dokumenten nach Abschnitten, Seiten und Seitenbereichen wurden zusammen mit Codebeispielen besprochen. Weitere Informationen zu Aspose.Words for .NET finden Sie in der Dokumentation.

Siehe auch