يعد MS Word تنسيقًا شائعًا لتخزين المعلومات ومشاركتها. قد تكون هناك سيناريوهات تريد فيها تقسيم مستند Word إلى ملفات متعددة. على سبيل المثال ، قد يحتوي المستند على أقسام مختلفة تحتاج إلى مشاركتها مع أشخاص مختلفين أو تحتوي على بعض المعلومات السرية التي يجب فصلها. في مثل هذه الحالات ، يكون تقسيم مستند Word مفيدًا. في هذه المقالة ، ستتعلم كيفية تقسيم مستندات MS Word باستخدام C ++.
- واجهة برمجة تطبيقات C ++ لتقسيم مستندات Word
- قم بتقسيم مستندات Word حسب الصفحة باستخدام C ++
- استخدم نطاق الصفحات لتقسيم مستند Word
- تقسيم مستند 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 باستخدام فئة Document.
- استرجع أقسام المستند باستخدام طريقة Document-> getSections() وكررها.
- استنساخ القسم إلى كائن Section باستخدام طريقة Document-> getSections() -> idxget (فهرس int32t) -> Clone().
- قم بإنشاء مستند Word جديد باستخدام فئة Document.
- أضف القسم المستنسخ إلى مستند Word الذي تم إنشاؤه حديثًا باستخدام Document-> getSections() -> Add (System :: SharedPtrAspose::Words::Node عقدة) طريقة.
- أخيرًا ، احفظ ملف 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);
// مسار ملف الإخراج
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 بالتفصيل باستخدام الوثائق الرسمية. إذا كان لديك أي أسئلة ، فلا تتردد في الاتصال بنا على المنتدى.