HeaderFooter

HeaderFooter class

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

public class HeaderFooter : Story

المنشئون

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

الخصائص

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

طُرق

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

ملاحظات

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

تذييل الرأس هي عقدة على مستوى القسم ويمكن أن تكون تابعة فقط لـ الجزء . يمكن أن يكون هناك واحد فقط تذييل الرأس أو كل منهماHeaderFooterType في الجزء.

إذا الجزء لا يملك تذييل الرأس من نوع معين or the تذييل الرأس لا يحتوي على عقد فرعية ، يعتبر هذا الرأس / التذييل مرتبطًا بـ رأس / تذييل الصفحة من نفس النوع من القسم السابق في Microsoft Word.

متي تذييل الرأس يحتوي على واحد على الأقل فقرة، لم يعد يتم اعتباره مرتبطًا بالسابق في 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");

أنظر أيضا