XmpPacketWrapper

XmpPacketWrapper class

يحتوي على حزمة XMP متسلسلة بما في ذلك الرأس والمقطورة . يمكن وضع غلاف يتكون من زوج من تعليمات معالجة XML (PIs) حول rdf: عنصر RDF.

public class XmpPacketWrapper : MetadataPackage, IXmpType

المنشئون

اسم وصف
XmpPacketWrapper() يقوم بتهيئة مثيل جديد لملفXmpPacketWrapper فئة .
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) يقوم بتهيئة مثيل جديد لملفXmpPacketWrapper فئة .

الخصائص

اسم وصف
Count { get; } الحصول على عدد خصائص البيانات الوصفية.
HeaderPI { get; set; } الحصول على تعليمات معالجة الرأس أو تعيينها.
Item { get; } يحصل على ملفMetadataProperty بالاسم المحدد.
Keys { get; } الحصول على مجموعة من أسماء خصائص البيانات الوصفية.
Meta { get; set; } الحصول على أو تعيين تعريف XMP .
MetadataType { get; } الحصول على نوع البيانات الوصفية .
PackageCount { get; } الحصول على عدد الحزم داخل هيكل XMP.
Packages { get; } يحصل على مجموعة منXmpPackage داخل XMP.
PropertyDescriptors { get; } يحصل على مجموعة من الواصفات التي تحتوي على معلومات حول الخصائص التي يمكن الوصول إليها من خلال GroupDocs.Metadata search engine .
Schemes { get; } يوفر الوصول إلى مخططات XMP المعروفة.
TrailerPI { get; set; } الحصول على تعليمات معالجة المقطورة أو تعيينها.

طُرق

اسم وصف
AddPackage(XmpPackage) يضيف الحزمة .
AddProperties(Func<MetadataProperty, bool>, PropertyValue) يضيف خصائص البيانات الوصفية المعروفة التي تفي بالمسند المحدد . العملية متكررة لذا فهي تؤثر على جميع الحزم المتداخلة أيضًا.
ClearPackages() يزيل الكلXmpPackage داخل XMP.
Contains(string) لتحديد ما إذا كانت الحزمة تحتوي على خاصية بيانات التعريف بالاسم المحدد.
ContainsPackage(string) تحديد ما إذا كانت الحزمة موجودة في غلاف XMP.
virtual FindProperties(Func<MetadataProperty, bool>) البحث عن خصائص البيانات الوصفية التي تفي بالمسند المحدد. البحث متكرر لذا فهو يؤثر على جميع الحزم المتداخلة أيضًا.
GetEnumerator() إرجاع عداد يتكرر خلال المجموعة.
GetPackage(string) يحصل على الحزمة حسب مساحة الاسم uri.
GetXmpRepresentation() سلسلة إرجاع القيمة المضمنة بتنسيق XMP.
RemovePackage(XmpPackage) يزيل الحزمة المحددة.
virtual RemoveProperties(Func<MetadataProperty, bool>) يزيل خصائص البيانات الوصفية التي تفي بالتقييم المحدد.
virtual Sanitize() إزالة خصائص البيانات الوصفية القابلة للكتابة من الحزمة. العملية متكررة لذا فهي تؤثر على جميع الحزم المتداخلة أيضًا.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) تعيين خصائص البيانات الوصفية المعروفة التي تفي بالمسند المحدد . العملية متكررة لذا فهي تؤثر على جميع الحزم المتداخلة أيضًا.AddProperties وUpdateProperties إذا كانت خاصية موجودة تحقق القيمة الأصلية ، فسيتم تحديث قيمتها. إذا كانت هناك خاصية معروفة مفقودة في الحزمة التي ترضي المسند ، فستتم إضافتها إلى الحزمة.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) يقوم بتحديث خصائص البيانات الوصفية المعروفة التي تفي بالمسند المحدد . العملية متكررة لذا فهي تؤثر على جميع الحزم المتداخلة أيضًا.

ملاحظات

يتعلم أكثر

أمثلة

يوضح هذا المثال كيفية تحديث خصائص بيانات تعريف XMP.

using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        // إذا لم يكن هناك مخطط من هذا القبيل في حزمة XMP ، فيجب علينا إنشاؤه
        if (root.XmpPackage.Schemes.DublinCore == null)
        {
            root.XmpPackage.Schemes.DublinCore = new XmpDublinCorePackage();
        }
        root.XmpPackage.Schemes.DublinCore.Format = "image/gif";
        root.XmpPackage.Schemes.DublinCore.SetRights("Copyright (C) 2011-2022 GroupDocs. All Rights Reserved");
        root.XmpPackage.Schemes.DublinCore.SetSubject("test");

        if (root.XmpPackage.Schemes.CameraRaw == null)
        {
            root.XmpPackage.Schemes.CameraRaw = new XmpCameraRawPackage();
        }
        root.XmpPackage.Schemes.CameraRaw.Shadows = 50;
        root.XmpPackage.Schemes.CameraRaw.AutoBrightness = true;
        root.XmpPackage.Schemes.CameraRaw.AutoExposure = true;
        root.XmpPackage.Schemes.CameraRaw.CameraProfile = "test";
        root.XmpPackage.Schemes.CameraRaw.Exposure = 0.0001;

        // إذا كنت لا تريد الاحتفاظ بالقيم القديمة فقط استبدل النظام بأكمله
        root.XmpPackage.Schemes.XmpBasic = new XmpBasicPackage();
        root.XmpPackage.Schemes.XmpBasic.CreateDate = DateTime.Today;
        root.XmpPackage.Schemes.XmpBasic.BaseUrl = "https://groupdocs.com ";
        root.XmpPackage.Schemes.XmpBasic.Rating = 5;

        root.XmpPackage.Schemes.BasicJobTicket = new XmpBasicJobTicketPackage();

        // تعيين خاصية نوع معقد
        root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
        {
            new XmpJob
            {
                ID = "1",
                Name = "test job",
                Url = "https://groupdocs.com "
            },
        };

        // ... 

        metadata.Save(Constants.OutputGif);
    }
}

أنظر أيضا