Podziel dokumenty programu Word C++

MS Word to popularny format do przechowywania i udostępniania informacji. Mogą istnieć scenariusze, w których chcesz podzielić dokument programu Word na wiele plików. Na przykład dokument może zawierać różne sekcje, które należy udostępnić różnym osobom lub zawierać informacje poufne, które należy oddzielić. W takich przypadkach pomocne okazuje się podzielenie dokumentu Worda. W tym artykule dowiesz się, jak podzielić dokumenty MS Word za pomocą C++.

C++ API do dzielenia dokumentów programu Word

Aspose.Words for C++ to natywna biblioteka C++, która pozwala generować, zmieniać i konwertować dokumenty Microsoft Word. Ponadto obsługuje także dzielenie dokumentów programu Word na wiele plików. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Words.Cpp

Podziel dokumenty programu Word według stron za pomocą C++

Poniżej przedstawiono kroki dzielenia plików programu Word przy użyciu języka C++.

  • Załaduj dokument programu Word, używając klasy Document.
  • Utwórz instancję klasy DocumentPageSplitter i zainicjuj ją obiektem Document utworzonym w poprzednim kroku.
  • Przeglądaj strony Dokumentu.
  • Wyodrębnij każdą stronę za pomocą metody DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex).
  • Zapisz dokumenty za pomocą metody Document->Save (System::String fileName).

Poniżej znajduje się przykładowy kod do dzielenia dokumentu programu Word według strony.

// Przykładowy dokument Worda
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Załaduj dokument Worda
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Utwórz i zainicjuj rozdzielacz stron dokumentu
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Ścieżka pliku wyjściowego
System::String outputPath = u"OutputDirectory\\";

// Zapisz każdą stronę jako osobny 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");
}

Użyj zakresu stron, aby podzielić dokument programu Word

Zamiast oddzielać każdą stronę, możesz także podzielić dokument Word, podając zakres stron. Poniżej przedstawiono kroki, aby podzielić dokument programu Word przy użyciu zakresu stron.

  • Najpierw załaduj dokument programu Word przy użyciu klasy Document.
  • Utwórz instancję klasy DocumentPageSplitter i zainicjuj ją obiektem Document z poprzedniego kroku.
  • Pobierz strony w wymaganym zakresie przy użyciu metody DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
  • Na koniec zapisz dokument programu Word za pomocą metody Document->Save (System::String fileName).

Poniżej znajduje się przykładowy kod do podziału dokumentu programu Word przy użyciu zakresu stron.

// Przykładowy dokument Worda
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Załaduj dokument Worda
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Utwórz i zainicjuj rozdzielacz stron dokumentu
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Pobierz zakres stron
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// Ścieżka pliku wyjściowego
System::String outputPath = u"OutputDirectory\\";

// Zapisz jako plik DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

Podziel dokument programu Word na sekcje przy użyciu C++

Pliki Word mogą zawierać jedną lub więcej sekcji, które mogą mieć różne formatowanie i mogą składać się z dowolnej liczby stron. Aby dodać nową sekcję w pliku Word, użyj opcji Układ>Podziały>Podziały sekcji. Poniżej przedstawiono kroki dzielenia plików programu Word według sekcji przy użyciu interfejsu API Aspose.Words dla języka C++.

Poniżej znajduje się przykładowy kod do dzielenia dokumentów programu Word według sekcji.

// Przykładowy dokument Worda
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Załaduj dokument Worda
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Ścieżka pliku wyjściowego
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // Podziel dokument na mniejsze części, w tym przypadku podziel według sekcji
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // Utwórz nowy dokument
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //Dodaj nową sekcję do nowo utworzonego dokumentu
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // Zapisz każdą sekcję jako osobny dokument
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się dzielić dokumenty Worda na wiele plików przy użyciu C++. Nauczyłeś się, jak używać interfejsu API Aspose.Words for C++ do dzielenia dokumentów Word według strony, zakresu stron i sekcji. Możesz szczegółowo zapoznać się z interfejsem API, korzystając z oficjalnej dokumentacji. Jeśli masz jakieś pytania, skontaktuj się z nami na forum.

Zobacz też