تستخدم مستندات MS Word على نطاق واسع لحفظ المعلومات ومشاركتها. في بعض الحالات ، قد تحتاج إلى تقسيم البيانات من مستند Word الذي يمكن أن يكون موجودًا في أقسام أو صفحات مختلفة. أيضًا ، قد تحتاج إلى تقسيم صفحات مستند واحد إلى مستندات متعددة. وفقًا لمثل هذه السيناريوهات ، تهدف هذه المقالة إلى توضيح كيفية تقسيم مستندات MS Word برمجيًا باستخدام C#.
- C# API لتقسيم مستندات MS Word
- تقسيم مستندات Word حسب القسم باستخدام C#
- تقسيم مستندات Word صفحة بصفحة باستخدام C#
- استخدم نطاق الصفحات لتقسيم مستندات Word باستخدام C#
C# API لتقسيم مستندات MS Word
Aspose.Words for .NET هي واجهة برمجة تطبيقات قوية لمعالجة النصوص تتيح لك إنشاء مستندات MS Word ومعالجتها باستخدام C# أو VB.NET. إلى جانب ذلك ، يسمح لك أيضًا بتقسيم مستندات MS Word حسب القسم أو الصفحة أو نطاق الصفحات. يمكنك تنزيل API أو تثبيته داخل تطبيقك باستخدام NuGet.
PM> Install-Package Aspose.Words
تقسيم مستندات Word حسب القسم باستخدام C#
تشير الأقسام إلى أجزاء من المستند حيث يمكن تطبيق تنسيقات مختلفة. قد يتكون القسم من صفحة واحدة أو نطاق من الصفحات أو المستند بأكمله. تُستخدم الفواصل المقطعية لتقسيم مستند إلى أقسام متعددة. فيما يلي خطوات تقسيم مستند Word استنادًا إلى أقسامه باستخدام Aspose.Words for .NET.
- قم بتحميل مستند Word باستخدام فئة Document.
- قم بالتكرار خلال أقسام الصفحة باستخدام خاصية Document.Sections.
- استنساخ القسم إلى كائن قسم جديد.
- قم بإنشاء كائن مستند جديد.
- أضف القسم إلى مستند جديد باستخدام طريقة Document.Sections.Add (مقطع).
- احفظ المستندات باستخدام طريقة Document.Save(String).
يوضح نموذج التعليمات البرمجية التالي كيفية تقسيم مستندات MS Word حسب الأقسام باستخدام C#.
// افتح مستند Word
Document doc = new Document("document.docx");
for (int i = 0; i < doc.Sections.Count; i++)
{
// قسّم مستندًا إلى أجزاء أصغر ، في هذه الحالة ، قسم حسب القسم
Section section = doc.Sections[i].Clone();
// قم بإنشاء مستند جديد
Document newDoc = new Document();
newDoc.Sections.Clear();
Section newSection = (Section)newDoc.ImportNode(section, true);
newDoc.Sections.Add(newSection);
// احفظ كل قسم كمستند منفصل
newDoc.Save($"splitted_{i}.docx");
}
تقسيم مستندات Word صفحة بصفحة باستخدام C#
قد تكون هناك حالة عندما يحتوي مستند Word على نوع مشابه من المعلومات في كل صفحة مثل الفواتير أو الإيصالات. في مثل هذه الحالة ، يمكنك تقسيم صفحات المستند من أجل حفظ كل فاتورة كمستند منفصل. لتقسيم المستندات صفحة بصفحة ، يمكنك استخدام فئة المساعد DocumentPageSplitter استنادًا إلى Aspose.Words for .NET. يمكنك ببساطة نسخ الفصل داخل مشروعك وتقسيم صفحة مستندات Word بصفحة باتباع الخطوات التالية.
- قم بتحميل مستند Word باستخدام فئة Document.
- قم بإنشاء كائن من فئة DocumentPageSplitter وتهيئته باستخدام كائن المستند.
- كرر من خلال صفحات المستند.
- قم باستخراج كل صفحة إلى كائن مستند جديد باستخدام أسلوب DocumentPageSplitter.GetDocumentOfPage (int PageIndex).
- احفظ كل مستند باستخدام طريقة Document.Save(String).
يوضح نموذج التعليمات البرمجية التالي كيفية تقسيم مستند Word حسب الصفحات التي تستخدم C#.
// افتح مستند Word
Document doc = new Document("Document.docx");
// قم بإنشاء وتهيئة مقسم صفحة المستند
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// احفظ كل صفحة كمستند منفصل
for (int page = 1; page <= doc.PageCount; page++)
{
Document pageDoc = splitter.GetDocumentOfPage(page);
pageDoc.Save($"spliteed_{page}.docx");
}
تقسيم مستندات Word حسب نطاق الصفحات باستخدام C#
يمكنك أيضًا تحديد نطاق صفحات لفصله عن المستند الأصلي باستخدام فئة DocumentPageSplitter. على سبيل المثال ، إذا كنت بحاجة إلى تقسيم الصفحات من 2 إلى 4 ، فما عليك سوى تحديد فهرس صفحة البداية والنهاية في طريقة DocumentPageSplitter.GetDocumentOfPageRange (int StartIndex، int EndIndex).
يوضح نموذج التعليمات البرمجية التالي كيفية تقسيم نطاق صفحات من مستند Word باستخدام C#.
// افتح مستند Word
Document doc = new Document("document.docx");
// قم بإنشاء وتهيئة مقسم صفحة المستند
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// احصل على نطاق الصفحات
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");
استنتاج
في هذه المقالة ، تعلمت كيفية تقسيم مستندات MS Word برمجيًا باستخدام C#. تمت مناقشة سيناريوهات تقسيم مستندات Word حسب الأقسام والصفحات ونطاقات الصفحات جنبًا إلى جنب مع نماذج التعليمات البرمجية. يمكنك استكشاف المزيد حول Aspose.Words for .NET باستخدام التوثيق.