تقسیم اسناد Word C++

MS Word یک فرمت محبوب برای ذخیره و به اشتراک گذاری اطلاعات است. ممکن است سناریوهایی وجود داشته باشد که بخواهید یک سند Word را به چندین فایل تقسیم کنید. برای مثال، یک سند ممکن است شامل بخش‌های مختلفی باشد که باید با افراد مختلف به اشتراک گذاشته شود یا حاوی اطلاعات محرمانه‌ای باشد که باید از هم جدا شوند. در چنین مواردی، تقسیم سند Word مفید است. در این مقاله نحوه تقسیم اسناد MS Word با استفاده از C++ را خواهید آموخت.

C++ API برای تقسیم اسناد Word

Aspose.Words for C++ یک کتابخانه بومی C++ است که به شما امکان می دهد اسناد Microsoft Word را تولید، تغییر و تبدیل کنید. علاوه بر این، از تقسیم اسناد Word به چندین فایل نیز پشتیبانی می کند. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.Words.Cpp

با استفاده از C++ اسناد Word را بر اساس صفحه تقسیم کنید

در زیر مراحل تقسیم فایل های Word با استفاده از C++ آمده است.

  • سند Word را با استفاده از کلاس Document بارگیری کنید.
  • یک نمونه از کلاس DocumentPageSplitter ایجاد کنید و آن را با شیء Document ایجاد شده در مرحله قبل مقداردهی کنید.
  • از طریق صفحات سند حلقه بزنید.
  • هر صفحه را با روش DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex) استخراج کنید.
  • اسناد را با استفاده از روش Document->Save (System::String fileName) ذخیره کنید.

کد زیر نمونه ای برای تقسیم یک سند Word به صفحه است.

// نمونه سند Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// سند Word را بارگیری کنید
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// ایجاد و مقداردهی اولیه تقسیم صفحه سند
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// مسیر فایل خروجی
System::String outputPath = u"OutputDirectory\\";

// هر صفحه را به عنوان یک سند جداگانه ذخیره کنید
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");
}

از محدوده صفحه برای تقسیم یک سند Word استفاده کنید

به‌جای جدا کردن هر صفحه، می‌توانید سند Word را با ارائه یک محدوده صفحه تقسیم کنید. مراحل زیر برای تقسیم یک سند Word با استفاده از محدوده صفحه آورده شده است.

  • ابتدا سند Word را با استفاده از کلاس Document بارگذاری کنید.
  • یک نمونه از کلاس DocumentPageSplitter ایجاد کنید و آن را با شی Document مرحله قبل مقداردهی کنید.
  • با استفاده از روش DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex) صفحات در محدوده مورد نیاز را بازیابی کنید.
  • در نهایت، سند Word را با استفاده از روش Document->Save (System::String fileName) ذخیره کنید.

کد زیر نمونه ای برای تقسیم یک سند Word با استفاده از محدوده صفحه است.

// نمونه سند Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// سند Word را بارگیری کنید
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// ایجاد و مقداردهی اولیه تقسیم کننده صفحه سند
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// محدوده صفحه را دریافت کنید
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// مسیر فایل خروجی
System::String outputPath = u"OutputDirectory\\";

// به عنوان فایل DOCX ذخیره کنید
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

با استفاده از C++، سند ورد را بر اساس بخش ها تقسیم کنید

فایل‌های Word می‌توانند شامل یک یا چند بخش باشند که ممکن است قالب‌بندی متفاوتی داشته باشند و ممکن است از هر تعداد صفحه تشکیل شده باشند. برای افزودن یک بخش جدید در فایل Word از گزینه Layout>Breaks>Section Breaks استفاده کنید. مراحل زیر برای تقسیم فایل های Word بر اساس بخش ها با استفاده از Aspose.Words برای C++ API آمده است.

کد زیر نمونه ای برای تقسیم اسناد Word بر اساس بخش است.

// نمونه سند Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// سند Word را بارگیری کنید
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// مسیر فایل خروجی
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // یک سند را به بخش های کوچکتر تقسیم کنید، در این مثال به بخش تقسیم کنید
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // یک سند جدید ایجاد کنید
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //بخش جدید را به سند ایجاد شده جدید اضافه کنید
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // هر بخش را به عنوان یک سند جداگانه ذخیره کنید
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

مجوز رایگان دریافت کنید

با درخواست [مجوز موقت رایگان] می‌توانید API را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله، نحوه تقسیم اسناد Word به چندین فایل با استفاده از C++ را یاد گرفتید. شما یاد گرفته اید که چگونه از Aspose.Words برای C++ API برای تقسیم اسناد word بر اساس صفحه، محدوده صفحه و بخش ها استفاده کنید. با استفاده از مستندات رسمی می‌توانید API را با جزئیات کاوش کنید. اگر سؤالی دارید، لطفاً با ما در [فروم 20 تماس بگیرید.

همچنین ببینید