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

يعد MS Word تنسيقًا شائعًا لتخزين المعلومات ومشاركتها. قد تكون هناك سيناريوهات تريد فيها تقسيم مستند Word إلى ملفات متعددة. على سبيل المثال ، قد يحتوي المستند على أقسام مختلفة تحتاج إلى مشاركتها مع أشخاص مختلفين أو تحتوي على بعض المعلومات السرية التي يجب فصلها. في مثل هذه الحالات ، يكون تقسيم مستند Word مفيدًا. في هذه المقالة ، ستتعلم كيفية تقسيم مستندات MS Word باستخدام C ++.

واجهة برمجة تطبيقات C ++ لتقسيم مستندات Word

Aspose.Words for C ++ هي مكتبة C ++ أصلية تتيح لك إنشاء مستندات Microsoft Word وتغييرها وتحويلها. بالإضافة إلى ذلك ، يدعم أيضًا تقسيم مستندات Word إلى ملفات متعددة. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.Words.Cpp

قم بتقسيم مستندات Word حسب الصفحة باستخدام C ++

فيما يلي خطوات تقسيم ملفات 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");

تقسيم مستند Word حسب الأقسام باستخدام C ++

يمكن أن تحتوي ملفات Word على مقطع واحد أو أكثر قد يكون له تنسيق مختلف وقد يتكون من أي عدد من الصفحات. لإضافة قسم جديد في ملف Word ، استخدم الخيار Layout> Breaks> Section Breaks. فيما يلي خطوات تقسيم ملفات Word حسب الأقسام باستخدام Aspose.Words for 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");
}

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية تقسيم مستندات Word إلى ملفات متعددة باستخدام C ++. لقد تعلمت كيفية استخدام Aspose.Words لواجهة برمجة تطبيقات C ++ لتقسيم مستندات الكلمات حسب الصفحة ونطاق الصفحات والأقسام. يمكنك استكشاف API بالتفصيل باستخدام الوثائق الرسمية. إذا كان لديك أي أسئلة ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا