XmpPacketWrapper

XmpPacketWrapper class

Innehåller serialiserat XMP-paket inklusive rubrik och trailer. Ett omslag bestående av ett par XML-bearbetningsinstruktioner (PI:er) kan placeras runt rdf:RDF-elementet.

public class XmpPacketWrapper : MetadataPackage, IXmpType

Konstruktörer

namn Beskrivning
XmpPacketWrapper() Initierar en ny instans avXmpPacketWrapper class.
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) Initierar en ny instans avXmpPacketWrapper class.

Egenskaper

namn Beskrivning
Count { get; } Hämtar antalet metadataegenskaper.
HeaderPI { get; set; } Hämtar eller ställer in rubrikbearbetningsinstruktionen.
Item { get; } FårMetadataProperty med det angivna namnet.
Keys { get; } Hämtar en samling av metadataegenskapsnamnen.
Meta { get; set; } Hämtar eller ställer in XMP-meta.
MetadataType { get; } Hämtar metadatatypen.
PackageCount { get; } Hämtar antalet paket i XMP-strukturen.
Packages { get; } Får array avXmpPackage inuti XMP.
PropertyDescriptors { get; } Får en samling beskrivningar som innehåller information om egenskaper som är tillgängliga via sökmotorn GroupDocs.Metadata.
Schemes { get; } Ger tillgång till kända XMP-scheman.
TrailerPI { get; set; } Hämtar eller ställer in trailerbearbetningsinstruktionen.

Metoder

namn Beskrivning
AddPackage(XmpPackage) Lägger till paketet.
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Lägger till kända metadataegenskaper som uppfyller det angivna predikatet. Operationen är rekursiv så den påverkar även alla kapslade paket.
ClearPackages() Tar bort allaXmpPackage inuti XMP.
Contains(string) Bestämmer om paketet innehåller en metadataegenskap med det angivna namnet.
ContainsPackage(string) Avgör om paketet finns i XMP-omslag.
virtual FindProperties(Func<MetadataProperty, bool>) Hittar metadataegenskaperna som uppfyller det angivna predikatet. Sökningen är rekursiv så den påverkar också alla kapslade paket.
GetEnumerator() Returnerar en uppräkning som itererar genom samlingen.
GetPackage(string) Hämtar paket med namnutrymme uri.
GetXmpRepresentation() Returnerar stränginnehållet värde i XMP-format.
RemovePackage(XmpPackage) Tar bort det angivna paketet.
virtual RemoveProperties(Func<MetadataProperty, bool>) Tar bort metadataegenskaper som uppfyller det angivna predikatet.
virtual Sanitize() Tar bort skrivbara metadataegenskaper från paketet. Operationen är rekursiv så den påverkar alla kapslade paket också.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Ställer in kända metadataegenskaper som uppfyller det angivna predikatet. Operationen är rekursiv så den påverkar också alla kapslade paket. Denna metod är en kombination avAddProperties ochUpdateProperties Om en befintlig egenskap uppfyller predikatet uppdateras dess värde. Om det saknas en känd egenskap i paketet som uppfyller predikatet läggs den till i paketet.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Uppdaterar kända metadataegenskaper som uppfyller det angivna predikatet. Operationen är rekursiv så den påverkar också alla kapslade paket.

Anmärkningar

Läs mer

Exempel

Det här exemplet visar hur du uppdaterar XMP-metadataegenskaper.

using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        // om det inte finns något sådant schema i XMP-paketet bör vi skapa det
        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;

        // Om du inte vill behålla de gamla värdena, byt bara ut hela schemat
        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();

        // Ange en komplex typegenskap
        root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
        {
            new XmpJob
            {
                ID = "1",
                Name = "test job",
                Url = "https://groupdocs.com"
            },
        };

        // ... 

        metadata.Save(Constants.OutputGif);
    }
}

Se även