GlossaryDocument

GlossaryDocument class

يمثل العنصر الجذر لمستند المسرد ضمن مستند Word. مستند المسرد عبارة عن مخزن للنص التلقائي وإدخالات التصحيح التلقائي والكتل البرمجية الإنشائية.

لمعرفة المزيد، قم بزيارةنموذج كائن مستند Aspose.Words (DOM) مقالة توثيقية.

public class GlossaryDocument : DocumentBase

المنشئون

اسموصف
GlossaryDocument()Default_Constructor

الخصائص

اسموصف
BackgroundShape { get; set; }الحصول على شكل خلفية المستند أو تعيينه. يمكن ان يكونباطل .
BuildingBlocks { get; }إرجاع مجموعة مكتوبة تمثل كافة العناصر الأساسية في مستند المسرد.
Count { get; }يحصل على عدد الأطفال المباشرين لهذه العقدة.
CustomNodeId { get; set; }يحدد معرف العقدة المخصصة.
override Document { get; }يحصل على هذا المثيل.
FirstBuildingBlock { get; }الحصول على الكتلة البرمجية الإنشائية الأولى في مستند المسرد.
FirstChild { get; }يحصل على الطفل الأول للعقدة.
FontInfos { get; }يوفر الوصول إلى خصائص الخطوط المستخدمة في هذا المستند.
HasChildNodes { get; }إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية.
override IsComposite { get; }إرجاعحقيقي لأن هذه العقدة يمكن أن تحتوي على عقد فرعية.
LastBuildingBlock { get; }الحصول على العنصر الأساسي الأخير في مستند المسرد.
LastChild { get; }يحصل على الطفل الأخير للعقدة.
Lists { get; }يوفر الوصول إلى تنسيق القائمة المستخدم في المستند.
NextSibling { get; }يحصل على العقدة التي تلي هذه العقدة مباشرة.
NodeChangingCallback { get; set; }يتم استدعاؤه عند إدراج عقدة أو إزالتها في المستند.
override NodeType { get; }إرجاعGlossaryDocument القيمة.
PageColor { get; set; }الحصول على أو تعيين لون صفحة المستند. هذه الخاصية هي نسخة أبسط منBackgroundShape .
ParentNode { get; }يحصل على الأصل المباشر لهذه العقدة.
PreviousSibling { get; }يحصل على العقدة التي تسبق هذه العقدة مباشرة.
Range { get; }إرجاع أRange الكائن الذي يمثل جزء المستند الموجود في هذه العقدة.
ResourceLoadingCallback { get; set; }يسمح بالتحكم في كيفية تحميل الموارد الخارجية.
Styles { get; }إرجاع مجموعة من الأنماط المحددة في المستند.
WarningCallback { get; set; }يتم استدعاؤه أثناء إجراءات معالجة المستندات المختلفة عند اكتشاف مشكلة قد تؤدي إلى فقدان دقة البيانات أو التنسيق.

طُرق

اسموصف
override Accept(DocumentVisitor)يقبل الزائر.
AppendChild(Node)إضافة العقدة المحددة إلى نهاية قائمة العقد التابعة لهذه العقدة.
Clone(bool)إنشاء نسخة مكررة من العقدة.
CreateNavigator()إنشاء متصفح يمكن استخدامه لاجتياز العقد وقراءتها.
GetAncestor(NodeType)يحصل على السلف الأول للمحددNodeType .
GetAncestor(Type)الحصول على السلف الأول لنوع الكائن المحدد.
GetBuildingBlock(BuildingBlockGallery, string, string)يبحث عن الكتلة البرمجية الإنشائية باستخدام المعرض والفئة والاسم المحدد.
GetChild(NodeType, int, bool)إرجاع العقدة الفرعية N التي تطابق النوع المحدد.
GetChildNodes(NodeType, bool)إرجاع مجموعة مباشرة من العقد الفرعية التي تطابق النوع المحدد.
GetEnumerator()يوفر الدعم لتكرار كل نمط عبر العقد الفرعية لهذه العقدة.
override GetText()الحصول على نص هذه العقدة وجميع أبنائها.
ImportNode(Node, bool)يستورد عقدة من مستند آخر إلى المستند الحالي.
ImportNode(Node, bool, ImportFormatMode)يستورد عقدة من مستند آخر إلى المستند الحالي مع خيار التحكم في التنسيق.
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)تصدير محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

يمكن أن تحتوي بعض المستندات، عادةً القوالب، على نص تلقائي وإدخالات التصحيح التلقائي و/أو كتل الإنشاء (المعروفة أيضًا باسمإدخالات مستند المسرد ,أجزاء الوثيقة أواللبنات).

للوصول إلى الكتل البرمجية الإنشائية، يتعين عليك تحميل مستند في ملفDocument كائن . ستكون كتل البناء متاحة عبرGlossaryDocument ملكية.

GlossaryDocument يمكن أن تحتوي على أي عدد منBuildingBlock الكائنات. كل منهماBuildingBlock يمثل جزءًا واحدًا من الوثيقة.

يتوافق معDocument وdocParts العناصر في OOXML

أمثلة

يعرض طرق الوصول إلى الكتل البرمجية الإنشائية في مستند المسرد.

public void GlossaryDocument()
{
    Document doc = new Document();
    GlossaryDocument glossaryDoc = new GlossaryDocument();

    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 1" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 2" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 3" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 4" });
    glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 5" });

    Assert.AreEqual(5, glossaryDoc.BuildingBlocks.Count);

    doc.GlossaryDocument = glossaryDoc;

    // هناك طرق مختلفة للوصول إلى الكتل البرمجية الإنشائية.
    // 1 - احصل على اللبنات الأولى/الأخيرة في المجموعة:
    Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
    Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);

    // 2 - الحصول على كتلة بناء حسب الفهرس:
    Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
    Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);

    // 3 - احصل على أول كتلة بناء تطابق المعرض والاسم والفئة:
    Assert.AreEqual("Block 4", 
        glossaryDoc.GetBuildingBlock(BuildingBlockGallery.All, "(Empty Category)", "Block 4").Name);

    // سنفعل ذلك باستخدام زائر مخصص،
    // والذي سيمنح كل BuildingBlock في GlossaryDocument معرفًا فريدًا (GUID).
    GlossaryDocVisitor visitor = new GlossaryDocVisitor();
    glossaryDoc.Accept(visitor);
    Console.WriteLine(visitor.GetText());

    // في Microsoft Word، يمكننا الوصول إلى الكتل البرمجية الإنشائية عبر "إدراج" -> "الأجزاء السريعة" -> “منظم لبنات البناء”.
    doc.Save(ArtifactsDir + "BuildingBlocks.GlossaryDocument.dotx"); 
}

/// <summary>
/// يمنح كل كتلة إنشاء في مستند المسرد الذي تمت زيارته معرفًا فريدًا (GUID).
/// يخزن أزواج كتل بناء GUID في القاموس.
/// </summary>
public class GlossaryDocVisitor : DocumentVisitor
{
    public GlossaryDocVisitor()
    {
        mBlocksByGuid = new Dictionary<Guid, BuildingBlock>();
        mBuilder = new StringBuilder();
    }

    public string GetText()
    {
        return mBuilder.ToString();
    }

    public Dictionary<Guid, BuildingBlock> GetDictionary()
    {
        return mBlocksByGuid;
    }

    public override VisitorAction VisitGlossaryDocumentStart(GlossaryDocument glossary)
    {
        mBuilder.AppendLine("Glossary document found!");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitGlossaryDocumentEnd(GlossaryDocument glossary)
    {
        mBuilder.AppendLine("Reached end of glossary!");
        mBuilder.AppendLine("BuildingBlocks found: " + mBlocksByGuid.Count);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBuildingBlockStart(BuildingBlock block)
    {
        block.Guid = Guid.NewGuid();
        mBlocksByGuid.Add(block.Guid, block);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBuildingBlockEnd(BuildingBlock block)
    {
        mBuilder.AppendLine("\tVisited block \"" + block.Name + "\"");
        mBuilder.AppendLine("\t Type: " + block.Type);
        mBuilder.AppendLine("\t Gallery: " + block.Gallery);
        mBuilder.AppendLine("\t Behavior: " + block.Behavior);
        mBuilder.AppendLine("\t Description: " + block.Description);

        return VisitorAction.Continue;
    }

    private readonly Dictionary<Guid, BuildingBlock> mBlocksByGuid;
    private readonly StringBuilder mBuilder;
}

أنظر أيضا