Aufteilen von Word Dokumenten C++

MS Word ist ein beliebtes Format zum Speichern und Teilen von Informationen. Es kann Szenarien geben, in denen Sie ein Word Dokument in mehrere Dateien aufteilen möchten. Beispielsweise kann ein Dokument verschiedene Abschnitte enthalten, die mit verschiedenen Personen geteilt werden müssen, oder vertrauliche Informationen enthalten, die getrennt werden müssen. In solchen Fällen erweist sich das Aufteilen des Word Dokuments als hilfreich. In diesem Artikel erfahren Sie, wie Sie MS Word Dokumente mit C++ aufteilen.

C++-API zum Aufteilen von Word Dokumenten

Aspose.Words for C++ ist eine native C++ Bibliothek, mit der Sie Microsoft Word Dokumente erstellen, ändern und konvertieren können. Darüber hinaus unterstützt es auch das Aufteilen von Word Dokumenten in mehrere Dateien. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Words.Cpp

Aufteilen von Word Dokumenten nach Seite mit C++

Im Folgenden sind die Schritte zum Aufteilen von Word Dateien mit C++ aufgeführt.

  • Laden Sie das Word Dokument mit der Klasse Document.
  • Erstellen Sie eine Instanz der DocumentPageSplitter Klasse und initialisieren Sie sie mit dem im vorherigen Schritt erstellten Document objekt.
  • Blättern Sie durch die Seiten des Dokuments.
  • Extrahieren Sie jede Seite mit der methode DocumentPageSplitter.GetDocumentOfPage(int32\t PageIndex).
  • Speichern Sie die Dokumente mit der methode Dokument->Speichern (System::String Dateiname).

Im Folgenden finden Sie den Beispielcode zum Aufteilen eines Word Dokuments nach Seite.

// Beispiel-Word Dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Laden Sie das Word Dokument
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

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

// Pfad der Ausgabedatei
System::String outputPath = u"OutputDirectory\\";

// Speichern Sie jede Seite als separates Dokument
for (int page = 1; page <= document->get_PageCount(); page++)
{
    auto pageDoc = splitter.GetDocumentOfPage(page);
    pageDoc->Save(outputPath + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(page) + u".docx");
}

Verwenden Sie den Seitenbereich, um ein Word Dokument zu teilen

Anstatt jede einzelne Seite zu trennen, können Sie das Word Dokument auch teilen, indem Sie einen Seitenbereich angeben. Im Folgenden finden Sie die Schritte zum Aufteilen eines Word Dokuments mithilfe des Seitenbereichs.

  • Laden Sie zunächst das Word Dokument mit der Klasse Document.
  • Erstellen Sie eine Instanz der Klasse DocumentPageSplitter und initialisieren Sie sie mit dem Objekt Document aus dem vorherigen Schritt.
  • Rufen Sie die Seiten im erforderlichen Bereich mit der methode DocumentPageSplitter.GetDocumentOfPageRange(int32\t pageIndex, int32\t pageIndex) ab.
  • Speichern Sie zuletzt das Word Dokument mit der methode Dokument->Speichern (System::String Dateiname).

Im Folgenden finden Sie den Beispielcode zum Aufteilen eines Word Dokuments mithilfe des Seitenbereichs.

// Beispiel-Word Dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Laden Sie das Word Dokument
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

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

// Holen Sie sich den Seitenbereich
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// Pfad der Ausgabedatei
System::String outputPath = u"OutputDirectory\\";

// Als DOCX Datei speichern
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

Word Dokument nach Abschnitten mit C++ aufteilen

Word Dateien können einen oder mehrere Abschnitte enthalten, die unterschiedlich formatiert sein können und aus einer beliebigen Anzahl von Seiten bestehen können. Um einen neuen Abschnitt in der Word Datei hinzuzufügen, verwenden Sie die Option „Layout“ > „Umbrüche“ > „Abschnittsumbrüche“. Im Folgenden finden Sie die Schritte zum Aufteilen von Word Dateien nach Abschnitten mithilfe von Aspose.Words für die C++-API.

Im Folgenden finden Sie den Beispielcode zum Aufteilen von Word Dokumenten nach Abschnitten.

// Beispiel-Word Dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Laden Sie das Word Dokument
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Pfad der Ausgabedatei
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // Teilen Sie ein Dokument in kleinere Teile auf, in diesem Fall nach Abschnitten
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // Erstellen Sie ein neues Dokument
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //Fügen Sie dem neu erstellten Dokument einen neuen Abschnitt hinzu
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // Speichern Sie jeden Abschnitt als separates Dokument
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Word Dokumente mit C++ in mehrere Dateien aufteilen. Sie haben gelernt, wie Sie Aspose.Words für die C++-API verwenden, um Word Dokumente nach Seite, Seitenbereich und Abschnitten aufzuteilen. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation verwenden. Wenn Sie Fragen haben, können Sie sich gerne im Forum an uns wenden.

Siehe auch