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 الكائن هو header.
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)يقبل زائرًا.
override AcceptEnd(DocumentVisitor)يقبل زائرًا لزيارة نهاية الرأس.
override AcceptStart(DocumentVisitor)يقبل زائرًا لزيارة بداية الرأس.
AppendChild<T>(T)يضيف العقدة المحددة إلى نهاية قائمة العقد الفرعية لهذه العقدة.
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<T>(T, Node)يقوم بإدراج العقدة المحددة فورًا بعد عقدة المرجع المحددة.
InsertBefore<T>(T, Node)يقوم بإدراج العقدة المحددة مباشرة قبل عقدة المرجع المحددة.
NextPreOrder(Node)يحصل على العقدة التالية وفقًا لخوارزمية عبور شجرة الترتيب المسبق.
PrependChild<T>(T)يضيف العقدة المحددة إلى بداية قائمة العقد الفرعية لهذه العقدة.
PreviousPreOrder(Node)يحصل على العقدة السابقة وفقًا لخوارزمية عبور شجرة الترتيب المسبق.
Remove()يزيل نفسه من الأصل.
RemoveAllChildren()يزيل جميع العقد الفرعية للعقدة الحالية.
RemoveChild<T>(T)يزيل العقدة الفرعية المحددة.
RemoveSmartTags()يزيل الكلSmartTag العقد المنحدرة من العقدة الحالية.
SelectNodes(string)يحدد قائمة العقد المطابقة لتعبير XPath.
SelectSingleNode(string)يحدد الأولNode الذي يتطابق مع تعبير XPath.
ToString(SaveFormat)يصدر محتوى العقدة إلى سلسلة بالتنسيق المحدد.
ToString(SaveOptions)يقوم بتصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

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

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

لوSection ليس لديهHeaderFooter من نوع معين أو 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");

أنظر أيضا