HeaderFooter

HeaderFooter class

يمثل حاوية لنص رأس أو تذييل القسم.

لمعرفة المزيد، قم بزيارةالعمل مع الرؤوس والتذييلات مقالة توثيقية.

public class HeaderFooter : Story

المنشئون

اسموصف
HeaderFooter(DocumentBaseHeaderFooterType)إنشاء رأس أو تذييل جديد من النوع المحدد.

الخصائص

اسموصف
Count { get; }يحصل على عدد الأطفال المباشرين لهذه العقدة.
CustomNodeId { get; set; }يحدد معرف العقدة المخصصة.
virtual Document { get; }الحصول على المستند الذي تنتمي إليه هذه العقدة.
FirstChild { get; }يحصل على الطفل الأول للعقدة.
FirstParagraph { get; }الحصول على الفقرة الأولى في القصة.
HasChildNodes { get; }إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية.
HeaderFooterType { get; }يحصل على نوع هذا الرأس/التذييل.
override IsComposite { get; }إرجاعحقيقي لأن هذه العقدة يمكن أن تحتوي على عقد فرعية.
IsHeader { get; }صحيح إذا كان هذاHeaderFooter الكائن عبارة عن رأس.
IsLinkedToPrevious { get; set; }صحيح إذا كان هذا الرأس أو التذييل مرتبطًا بالرأس أو التذييل المقابل في القسم السابق.
LastChild { get; }يحصل على الطفل الأخير للعقدة.
LastParagraph { get; }الحصول على الفقرة الأخيرة في القصة.
NextSibling { get; }يحصل على العقدة التي تلي هذه العقدة مباشرة.
override NodeType { get; }إرجاعHeaderFooter .
Paragraphs { get; }يحصل على مجموعة من الفقرات التي تعتبر أبناء القصة مباشرة.
ParentNode { get; }يحصل على الأصل المباشر لهذه العقدة.
ParentSection { get; }للحصول على القسم الأصلي لهذه القصة.
PreviousSibling { get; }يحصل على العقدة التي تسبق هذه العقدة مباشرة.
Range { get; }إرجاع أRange الكائن الذي يمثل جزء المستند الموجود في هذه العقدة.
StoryType { get; }احصل على نوع هذه القصة.
Tables { get; }الحصول على مجموعة من الجداول التي تعتبر أبناء القصة مباشرة.

طُرق

اسموصف
override Accept(DocumentVisitor)يقبل الزائر.
AppendChild(Node)إضافة العقدة المحددة إلى نهاية قائمة العقد التابعة لهذه العقدة.
AppendParagraph(string)طريقة اختصار لإنشاء ملفParagraph كائن بنص اختياري وإلحاقه بنهاية هذا الكائن.
Clone(bool)إنشاء نسخة مكررة من العقدة.
CreateNavigator()إنشاء متصفح يمكن استخدامه لاجتياز العقد وقراءتها.
DeleteShapes()حذف جميع الأشكال من نص هذه القصة.
GetAncestor(NodeType)يحصل على السلف الأول للمحددNodeType .
GetAncestor(Type)الحصول على السلف الأول لنوع الكائن المحدد.
GetChild(NodeType, int, bool)إرجاع العقدة الفرعية N التي تطابق النوع المحدد.
GetChildNodes(NodeType, bool)إرجاع مجموعة مباشرة من العقد الفرعية التي تطابق النوع المحدد.
GetEnumerator()يوفر الدعم لتكرار كل نمط عبر العقد الفرعية لهذه العقدة.
override GetText()الحصول على نص هذه العقدة وجميع أبنائها.
IndexOf(Node)إرجاع فهرس العقدة الفرعية المحددة في صفيف العقدة الفرعية.
InsertAfter(NodeNode)يقوم بإدراج العقدة المحددة مباشرة بعد العقدة المرجعية المحددة.
InsertBefore(NodeNode)يقوم بإدراج العقدة المحددة مباشرة قبل العقدة المرجعية المحددة.
NextPreOrder(Node)الحصول على العقدة التالية وفقًا لخوارزمية اجتياز شجرة الطلب المسبق.
PrependChild(Node)إضافة العقدة المحددة إلى بداية قائمة العقد التابعة لهذه العقدة.
PreviousPreOrder(Node)الحصول على العقدة السابقة وفقًا لخوارزمية اجتياز شجرة الطلب المسبق.
Remove()يزيل نفسه من الأصل.
RemoveAllChildren()إزالة جميع العقد الفرعية للعقدة الحالية.
RemoveChild(Node)إزالة العقدة الفرعية المحددة.
RemoveSmartTags()يزيل الكلSmartTagالعقد التابعة للعقدة الحالية.
SelectNodes(string)تحديد قائمة العقد المطابقة لتعبير XPath.
SelectSingleNode(string)تحديد الأولNode الذي يطابق تعبير XPath.
ToString(SaveFormat)تصدير محتوى العقدة إلى سلسلة بالتنسيق المحدد.
ToString(SaveOptions)تصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

HeaderFooter يمكن أن تحتويParagraph وطاولة العقد الفرعية.

HeaderFooter هي عقدة على مستوى القسم ويمكن أن تكون فرعًا فقط لـSection . يمكن أن يكون هناك واحد فقطHeaderFooter لكل واحدHeaderFooterType فيSection.

لوSection لا يملكHeaderFooter من نوع معين or الHeaderFooterلا يحتوي على عقد فرعية، يعتبر هذا الرأس/التذييل مرتبطًا بـ الرأس/التذييل من نفس نوع القسم السابق في Microsoft Word.

متىHeaderFooter يحتوي على واحد على الأقلParagraph، لم يعد يعتبر مرتبطًا بالسابق في Microsoft Word.

أمثلة

يوضح كيفية استبدال النص في تذييل المستند.

Document doc = new Document(MyDir + "Footer.docx");

HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];

FindReplaceOptions options = new FindReplaceOptions
{
    MatchCase = false,
    FindWholeWordsOnly = false
};

int currentYear = DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);

doc.Save(ArtifactsDir + "HeaderFooter.ReplaceText.docx");

يوضح كيفية حذف جميع التذييلات من المستند.

Document doc = new Document(MyDir + "Header and footer types.docx");

// كرر كل قسم وقم بإزالة التذييلات من كل نوع.
foreach (Section section in doc.OfType<Section>())
{
    // هناك ثلاثة أنواع من أنواع التذييل والرأس.
    // 1 - الرأس/التذييل "الأول"، والذي يظهر فقط في الصفحة الأولى من القسم.
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 - الرأس/التذييل "الأساسي"، الذي يظهر على الصفحات الفردية.
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

     // 3 - الرأس/التذييل "الزوجي"، الذي يظهر في الصفحات الزوجية.
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

    Assert.AreEqual(0, section.HeadersFooters.Count(hf => !((HeaderFooter)hf).IsHeader));
}

doc.Save(ArtifactsDir + "HeaderFooter.RemoveFooters.docx");

يوضح كيفية إنشاء رأس وتذييل.

Document doc = new Document();

// قم بإنشاء رأس وألحق فقرة به. النص في تلك الفقرة
// سيظهر في أعلى كل صفحة من هذا القسم، فوق النص الأساسي.
HeaderFooter header = new HeaderFooter(doc, HeaderFooterType.HeaderPrimary);
doc.FirstSection.HeadersFooters.Add(header);

Paragraph para = header.AppendParagraph("My header.");

Assert.True(header.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

// قم بإنشاء تذييل وإلحاق فقرة به. النص في تلك الفقرة
// سيظهر في أسفل كل صفحة من هذا القسم، أسفل النص الرئيسي.
HeaderFooter footer = new HeaderFooter(doc, HeaderFooterType.FooterPrimary);
doc.FirstSection.HeadersFooters.Add(footer);

para = footer.AppendParagraph("My footer.");

Assert.False(footer.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

Assert.AreEqual(footer, para.ParentStory);
Assert.AreEqual(footer.ParentSection, para.ParentSection);
Assert.AreEqual(footer.ParentSection, header.ParentSection);

doc.Save(ArtifactsDir + "HeaderFooter.Create.docx");

أنظر أيضا