CustomPart

CustomPart class

يمثل جزءًا مخصصًا (محتوى عشوائيًا)، لم يتم تعريفه بواسطة معيار ISO/IEC 29500.

لمعرفة المزيد، قم بزيارةعلامات المستندات المنظمة أو التحكم في المحتوى مقالة توثيقية.

public class CustomPart

المنشئون

اسموصف
CustomPart()Default_Constructor

الخصائص

اسموصف
ContentType { get; set; }يحدد نوع محتوى هذا الجزء المخصص.
Data { get; set; }يحتوي على بيانات هذا الجزء المخصص.
IsExternal { get; set; }خطأ إذا تم تخزين هذا الجزء المخصص داخل حزمة OOXML. صحيح إذا كان هذا الجزء المخصص هدفًا خارجيًا.
Name { get; set; }الحصول على الاسم المطلق لهذا الجزء أو تعيينه ضمن حزمة OOXML أو عنوان URL المستهدف.
RelationshipType { get; set; }الحصول على أو تعيين نوع العلاقة من الجزء الأصلي إلى هذا الجزء المخصص.

طُرق

اسموصف
Clone()يقوم بإنشاء نسخة “عميقة بما فيه الكفاية” من الكائن. لا يكرر بايتات ملفData القيمة.

ملاحظات

تمثل هذه الفئة جزء OOXML الذي يعد هدفًا لـ “علاقة غير معروفة”. تعتبر جميع العلاقات غير المحددة ضمن ISO/IEC 29500 “علاقات غير معروفة”. يُسمح بالعلاقات غير المعروفة ضمن مستند Office Open XML بشرط أن تكون متوافقة لإرشادات ترميز العلاقة.

يحتفظ Microsoft Word بالأجزاء المخصصة أثناء دورات الفتح/الحفظ. يمكن العثور على بعض المعلومات الإضافية هنا http://blogs.msdn.com/dmahugh/archive/2006/11/25/arbitrary-content-in-an-opc-package.aspx

يقوم Aspose.Words أيضًا برحلة ذهابًا وإيابًا إلى الأجزاء المخصصة، وبالإضافة إلى ذلك، يسمح بالوصول برمجيًا إلى مثل هذه الأجزاء عبرCustomPart وCustomPartCollection أشياء.

لا تخلط بين الأجزاء المخصصة وبيانات XML المخصصة. يستخدمCustomXmlPart إذا كنت بحاجة إلى للوصول إلى بيانات XML المخصصة.

أمثلة

يوضح كيفية الوصول إلى مجموعة الأجزاء المخصصة العشوائية للمستند.

Document doc = new Document(MyDir + "Custom parts OOXML package.docx");

Assert.AreEqual(2, doc.PackageCustomParts.Count);

// انسخ الجزء الثاني، ثم أضف النسخة إلى المجموعة.
CustomPart clonedPart = doc.PackageCustomParts[1].Clone();
doc.PackageCustomParts.Add(clonedPart);
Assert.AreEqual(3, doc.PackageCustomParts.Count);

// قم بتعداد المجموعة وطباعة كل جزء منها.
using (IEnumerator<CustomPart> enumerator = doc.PackageCustomParts.GetEnumerator())
{
    int index = 0;
    while (enumerator.MoveNext())
    {
        Console.WriteLine($"Part index {index}:");
        Console.WriteLine($"\tName:\t\t\t\t{enumerator.Current.Name}");
        Console.WriteLine($"\tContent type:\t\t{enumerator.Current.ContentType}");
        Console.WriteLine($"\tRelationship type:\t{enumerator.Current.RelationshipType}");
        Console.WriteLine(enumerator.Current.IsExternal ?
            "\tSourced from outside the document" :
            $"\tStored within the document, length: {enumerator.Current.Data.Length} bytes");
        index++;
    }
}

// يمكننا إزالة العناصر من هذه المجموعة بشكل فردي، أو كلها مرة واحدة.
doc.PackageCustomParts.RemoveAt(2);

Assert.AreEqual(2, doc.PackageCustomParts.Count);

doc.PackageCustomParts.Clear();

Assert.AreEqual(0, doc.PackageCustomParts.Count);

أنظر أيضا