عادة ما تستخدم الرؤوس وتذييلات أثناء العمل مع مستندات الكلمات. أنها تعطي رؤية واضحة للموضوع الرئيسي للوثيقة وكذلك أي معلومات إضافية تحتاج إلى وضع أمام القراء. تتيح لك Microsoft Word إضافة معلومات الرأس والتذييل إلى المستند الخاص بك مع التخصيص. إذا كنت مطورًا للتطبيق .NET مهتم بتطوير (أو وضعت) تطبيقًا لمعالجة مستندات الكلمات ، يمكن أن يكون إضافة ميزة إدخال الرؤوس والتذييلات إلى مستندات الكلمات من تطبيقك ميزة مفيدة. في هذه المقالة ، سنذهب إلى الخطوات لإضافة رأس وتذييل إلى مستند Word من داخل تطبيق .NET. سنستخدم NPOI API لـ .NET في C# لهذا الغرض.

كيفية إدخال رأس وتذييل إلى مستند Word باستخدام Microsoft Word؟

قبل أن نتمكن من البدء في النظر في كيفية إضافة معلومات الرأس والتذييل إلى مستند Word من تطبيق .NET ، دعنا أولاً نلقي نظرة على كيفية فعل الشيء نفسه باستخدام Microsoft Word.

خطوات لإدراج رأس وتذييل في المستند باستخدام Microsoft Word

يمكنك استخدام الخطوات التالية لإدراج رأس وتذييل في مستند DOCX باستخدام Microsoft Word.

  1. حدد إدراج > رأس أو تذييل .
  2. حدد واحدة من التصميمات المدمجة.
  3. اكتب النص الذي تريده في الرأس أو التذييل.
  4. حدد إغلاق رأس وتذييل عند الانتهاء.

كيفية إدخال رأس وتذييل باستخدام NPOI في C#

الآن وقد رأينا كيفية إدراج رأس وتذييل في مستند Word باستخدام Microsoft Word ، دعنا نلقي نظرة على كيفية القيام بنفس الشيء باستخدام NPOI API لـ .NET في تطبيق C# الخاص بنا. فقط في حال لم يكن لديك فكرة كبيرة عن NPOI ، يمكنك المرور من خلال دليلنا الشامل لـ NPOI وإرشادات التثبيت الخاصة به.

خطوات لإدراج رأس وتذييل في مستند Word باستخدام C#

في هذه المرحلة ، نتوقع أن تكون قد أنشأت تطبيق C# وحدة التحكم C# وأضفت API NPOI إليه. استخدم الخطوات التالية لإضافة رأس وتذييل في مستند Word باستخدام NPOI API في C#.

  1. قم بإنشاء مثيل من xwpfdocument فئة
  2. أضف مثيلات xwpfparagraph و xwpfrun لإنشاء فقرة مع النص المطلوب
  3. قم بإنشاء رأس باستخدام ct_hdr وقم بتعيين خصائصه والنص كما هو موضح في الكود
  4. قم بإنشاء تذييل باستخدام ct_ftr وقم بتعيين خصائصه والنص كما هو موضح في الكود
  5. قم بإنشاء علاقات فريدة من الرأس والتذييل باستخدام xwpfrelation
  6. احفظ الملف إلى القرص باستخدام كائن xwpfdocument
//Create document
XWPFDocument doc = new XWPFDocument();
XWPFParagraph para = doc.CreateParagraph();
XWPFRun run = para.CreateRun();
run.SetText("FileFomrat.com");

doc.Document.body.sectPr = new CT_SectPr();
CT_SectPr secPr = doc.Document.body.sectPr;

//Create header and set its text
CT_Hdr header = new CT_Hdr();
//header.AddNewP().AddNewR().AddNewT().Value = "FileFormat.com";
var headerParagraph = header.AddNewP();
var paragraphRun = headerParagraph.AddNewR();
var paragraphText = paragraphRun.AddNewT();
paragraphText.Value = "FileFormat.com - An Open-source File Format API Guide For Developers";
CT_PPr headerPPR = headerParagraph.AddNewPPr();
CT_Jc headerAlign = headerPPR.AddNewJc();
headerAlign.val = ST_Jc.center;

//Create footer and set its text
CT_Ftr footer = new CT_Ftr();
CT_P footerParagraph = footer.AddNewP();
CT_R ctr = footerParagraph.AddNewR();
CT_Text ctt = ctr.AddNewT();
ctt.Value = "CopyRight (C) 2023";
CT_PPr ppr = footerParagraph.AddNewPPr();
CT_Jc align = ppr.AddNewJc();
align.val = ST_Jc.center;
            
//Create the relation of header
XWPFRelation relation1 = XWPFRelation.HEADER;
XWPFHeader myHeader = (XWPFHeader)doc.CreateRelationship(relation1, XWPFFactory.GetInstance(), doc.HeaderList.Count + 1);

//Create the relation of footer
XWPFRelation relation2 = XWPFRelation.FOOTER;
XWPFFooter myFooter = (XWPFFooter)doc.CreateRelationship(relation2, XWPFFactory.GetInstance(), doc.FooterList.Count + 1);

//Set the header
myHeader.SetHeaderFooter(header);
CT_HdrFtrRef myHeaderRef = secPr.AddNewHeaderReference();
myHeaderRef.type = ST_HdrFtr.@default;
myHeaderRef.id = myHeader.GetXWPFDocument().GetRelationId(myHeader); // = myHeader.GetPackageRelationship().Id;

//Set the footer
myFooter.SetHeaderFooter(footer);
CT_HdrFtrRef myFooterRef = secPr.AddNewFooterReference();
myFooterRef.type = ST_HdrFtr.@default;
myFooterRef.id = myFooter.GetXWPFDocument().GetRelationId(myFooter);//myFooter.GetPackageRelationship().Id;

//Save the file
using (FileStream stream = File.Create("HeaderAndFooter.docx"))
{
    doc.Write(stream);
}

الخاتمة

في هذه المقالة ، رأينا كيفية إضافة رأس وتذييل إلى مستند Word باستخدام NPOI API في C#. سنضيف المزيد من الأمثلة مثل هذه إلى مقالاتنا المستقبلية لـ العمل مع NPOI API في C# لمعالجة المستندات. ابقي على اتصال.