Pisahkan Dokumen Word C++

MS Word adalah format populer untuk menyimpan dan berbagi informasi. Mungkin ada skenario di mana Anda ingin membagi dokumen Word menjadi beberapa file. Misalnya, sebuah dokumen mungkin berisi bagian berbeda yang perlu dibagikan dengan orang yang berbeda atau berisi beberapa informasi rahasia yang perlu dipisahkan. Dalam kasus seperti itu, pemisahan dokumen Word terbukti sangat membantu. Pada artikel ini, Anda akan mempelajari cara membagi dokumen MS Word menggunakan C++.

C++ API untuk Memisahkan Dokumen Word

Aspose.Words for C++ adalah pustaka C++ asli yang memungkinkan Anda membuat, mengubah, dan mengonversi dokumen Microsoft Word. Selain itu, ini juga mendukung pemisahan dokumen Word menjadi beberapa file. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.Words.Cpp

Pisahkan Dokumen Word menurut Halaman menggunakan C++

Berikut ini adalah langkah-langkah untuk membagi file Word menggunakan C++.

  • Muat dokumen Word menggunakan kelas Document.
  • Buat instance kelas DocumentPageSplitter dan inisialisasi dengan objek Document yang dibuat pada langkah sebelumnya.
  • Telusuri halaman Document.
  • Ekstrak setiap halaman dengan metode DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex).
  • Simpan dokumen menggunakan metode Document->Save (System::String fileName).

Berikut ini adalah contoh kode untuk membagi dokumen Word berdasarkan halaman.

// Contoh dokumen Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Muat dokumen Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Membuat dan menginisialisasi pemisah halaman dokumen
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Jalur file keluaran
System::String outputPath = u"OutputDirectory\\";

// Simpan setiap halaman sebagai dokumen terpisah
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");
}

Gunakan Rentang Halaman untuk Membagi Dokumen Word

Alih-alih memisahkan setiap halaman, Anda juga dapat memisahkan dokumen Word dengan menyediakan rentang halaman. Berikut ini adalah langkah-langkah untuk membagi dokumen Word menggunakan rentang halaman.

  • Pertama, muat dokumen Word menggunakan kelas Document.
  • Buat instance kelas DocumentPageSplitter dan inisialisasi dengan objek Document langkah sebelumnya.
  • Ambil halaman dalam rentang yang diperlukan menggunakan metode DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
  • Terakhir, simpan dokumen Word menggunakan metode Document->Save (System::String fileName).

Berikut ini adalah contoh kode untuk membagi dokumen Word menggunakan rentang halaman.

// Contoh dokumen Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Muat dokumen Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Membuat dan menginisialisasi pemisah halaman dokumen
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Dapatkan rentang halaman
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// Jalur file keluaran
System::String outputPath = u"OutputDirectory\\";

// Simpan sebagai file DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

Pisahkan Dokumen Word dengan Bagian menggunakan C++

File Word dapat berisi satu atau beberapa bagian yang mungkin memiliki pemformatan berbeda dan dapat terdiri dari sejumlah halaman. Untuk menambahkan bagian baru di file Word, gunakan opsi Layout>Breaks>Section Breaks. Berikut adalah langkah-langkah untuk membagi file Word menjadi beberapa bagian menggunakan Aspose.Words for C++ API.

Berikut ini adalah contoh kode untuk membagi dokumen Word menjadi beberapa bagian.

// Contoh dokumen Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Muat dokumen Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Jalur file keluaran
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // Pisahkan dokumen menjadi bagian-bagian yang lebih kecil, dalam hal ini dibagi per bagian
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // Buat dokumen baru
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //Tambahkan bagian baru ke dokumen yang baru dibuat
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // Simpan setiap bagian sebagai dokumen terpisah
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membagi dokumen Word menjadi beberapa file menggunakan C++. Anda telah mempelajari cara menggunakan Aspose.Words for C++ API untuk membagi dokumen kata berdasarkan halaman, rentang halaman, dan bagian. Anda dapat menjelajahi API secara mendetail dengan menggunakan dokumentasi resmi. Jika Anda memiliki pertanyaan, jangan ragu untuk menghubungi kami di forum.

Lihat juga