Word Belgelerini Böl C++

MS Word, bilgi depolamak ve paylaşmak için popüler bir formattır. Bir Word belgesini birden çok dosyaya bölmek istediğiniz senaryolar olabilir. Örneğin, bir belge farklı kişilerle paylaşılması gereken farklı bölümler içerebilir veya ayrılması gereken bazı gizli bilgiler içerebilir. Bu gibi durumlarda, Word belgesini bölmek yardımcı olur. Bu yazıda, MS Word belgelerini C++ kullanarak nasıl böleceğinizi öğreneceksiniz.

Word Belgelerini Bölmek için C++ API

Aspose.Words for C++, Microsoft Word belgeleri oluşturmanıza, değiştirmenize ve dönüştürmenize olanak tanıyan yerel bir C++ kitaplığıdır. Ayrıca, Word belgelerini birden çok dosyaya bölmeyi de destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Words.Cpp

C++ kullanarak Word Belgelerini Sayfaya Göre Böl

Aşağıda, C++ kullanarak Word dosyalarını bölme adımları yer almaktadır.

  • Belge sınıfını kullanarak Word belgesini yükleyin.
  • DocumentPageSplitter sınıfının bir örneğini oluşturun ve onu önceki adımda oluşturulan Document nesnesiyle başlatın.
  • Belge sayfaları arasında dolaşın.
  • Her sayfayı DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex) yöntemiyle ayıklayın.
  • Document->Save (System::String fileName) yöntemini kullanarak belgeleri kaydedin.

Aşağıda, bir Word belgesini sayfa sayfa bölmek için örnek kod verilmiştir.

// Örnek Word belgesi
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word belgesini yükleyin
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Belge sayfası ayırıcıyı oluştur ve başlat
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Çıktı dosyası yolu
System::String outputPath = u"OutputDirectory\\";

// Her sayfayı ayrı bir belge olarak kaydedin
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");
}

Bir Word Belgesini Bölmek İçin Sayfa Aralığını Kullanın

Her sayfayı ayırmak yerine, bir sayfa aralığı sağlayarak Word belgesini de bölebilirsiniz. Aşağıdakiler, bir Word belgesini sayfa aralığını kullanarak bölme adımlarıdır.

  • İlk olarak, Document sınıfını kullanarak Word belgesini yükleyin.
  • DocumentPageSplitter sınıfının bir örneğini oluşturun ve bunu önceki adımın Document nesnesiyle başlatın.
  • DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex) yöntemini kullanarak gerekli aralıktaki sayfaları alın.
  • Son olarak, Word belgesini Belge->Kaydet (System::String dosyaAdı) yöntemini kullanarak kaydedin.

Sayfa aralığını kullanarak bir Word belgesini bölmek için örnek kod aşağıdadır.

// Örnek Word belgesi
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word belgesini yükleyin
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Belge sayfası ayırıcıyı oluştur ve başlat
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// Sayfa aralığını al
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// Çıktı dosyası yolu
System::String outputPath = u"OutputDirectory\\";

// DOCX dosyası olarak kaydet
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

C++ kullanarak Word Belgesini Bölümlere Göre Bölme

Word dosyaları, farklı biçimlendirmeye sahip olabilen ve herhangi bir sayıda sayfadan oluşabilen bir veya daha fazla bölüm içerebilir. Word dosyasına yeni bir bölüm eklemek için Layout>Breaks>Section Breaks seçeneğini kullanın. Aspose.Words for C++ API kullanarak Word dosyalarını bölümlere ayırma adımları aşağıdadır.

Word belgelerini bölümlere göre bölmek için örnek kod aşağıdadır.

// Örnek Word belgesi
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word belgesini yükleyin
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// Çıktı dosyası yolu
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // Bir belgeyi daha küçük parçalara ayırın, bu örnekte bölüme göre bölün
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // Yeni bir belge oluştur
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //Yeni oluşturulan belgeye yeni bölüm ekle
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // Her bölümü ayrı bir belge olarak kaydedin
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, Word belgelerini C++ kullanarak birden çok dosyaya nasıl böleceğinizi öğrendiniz. Word belgelerini sayfaya, sayfa aralığına ve bölümlere göre bölmek için Aspose.Words for C++ API’yi nasıl kullanacağınızı öğrendiniz. Resmi belgeleri kullanarak API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz varsa, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız