XmpPacketWrapper

XmpPacketWrapper class

Bevat geserialiseerd XMP-pakket inclusief header en trailer. Een wrapper die bestaat uit een paar XML-verwerkingsinstructies (PI’s) kan rond het rdf:RDF-element worden geplaatst.

public class XmpPacketWrapper : MetadataPackage, IXmpType

Constructeurs

Naam Beschrijving
XmpPacketWrapper() Initialiseert een nieuw exemplaar van hetXmpPacketWrapper klasse.
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) Initialiseert een nieuw exemplaar van hetXmpPacketWrapper klasse.

Eigenschappen

Naam Beschrijving
Count { get; } Haalt het aantal metadata-eigenschappen op.
HeaderPI { get; set; } Haalt of stelt de headerverwerkingsinstructie in.
Item { get; } Krijgt deMetadataProperty met de opgegeven naam.
Keys { get; } Haalt een verzameling van de metadata-eigenschapsnamen op.
Meta { get; set; } Haalt of stelt de XMP-meta in.
MetadataType { get; } Haalt het metadatatype op.
PackageCount { get; } Haalt het aantal pakketten binnen de XMP-structuur op.
Packages { get; } Krijgt een reeks vanXmpPackage binnen XMP.
PropertyDescriptors { get; } Haalt een verzameling descriptors op die informatie bevatten over eigenschappen die toegankelijk zijn via de GroupDocs.Metadata-zoekmachine.
Schemes { get; } Biedt toegang tot bekende XMP-schema’s.
TrailerPI { get; set; } Krijgt of stelt de instructie voor het verwerken van de trailer in.

methoden

Naam Beschrijving
AddPackage(XmpPackage) Voegt het pakket toe.
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Voegt bekende metadata-eigenschappen toe die voldoen aan het opgegeven predikaat. De bewerking is recursief, dus het is ook van invloed op alle geneste pakketten.
ClearPackages() Verwijdert allesXmpPackage binnen XMP.
Contains(string) Bepaalt of het pakket een metadata-eigenschap bevat met de opgegeven naam.
ContainsPackage(string) Bepaalt of pakket aanwezig is in XMP-wrapper.
virtual FindProperties(Func<MetadataProperty, bool>) Zoekt de metadata-eigenschappen die voldoen aan het opgegeven predikaat. De zoekopdracht is recursief, dus het heeft ook invloed op alle geneste pakketten.
GetEnumerator() Retourneert een enumerator die de verzameling herhaalt.
GetPackage(string) Krijgt pakket op naamruimte uri.
GetXmpRepresentation() Retourneert een tekenreeks die een waarde bevat in XMP-indeling.
RemovePackage(XmpPackage) Verwijdert het gespecificeerde pakket.
virtual RemoveProperties(Func<MetadataProperty, bool>) Verwijdert metadata-eigenschappen die voldoen aan het opgegeven predikaat.
virtual Sanitize() Verwijdert beschrijfbare metadata-eigenschappen uit het pakket. De bewerking is recursief, dus het is ook van invloed op alle geneste pakketten.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Stelt bekende metadata-eigenschappen in die voldoen aan het opgegeven predikaat. De bewerking is recursief, dus het is ook van invloed op alle geneste pakketten. Deze methode is een combinatie vanAddProperties EnUpdateProperties Als een bestaande eigenschap voldoet aan het predikaat, wordt de waarde bijgewerkt. Als er een bekende eigenschap ontbreekt in het pakket die voldoet aan het predikaat, wordt deze aan het pakket toegevoegd.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Werkt bekende metadata-eigenschappen bij die voldoen aan het opgegeven predikaat. De bewerking is recursief, dus het is ook van invloed op alle geneste pakketten.

Opmerkingen

Kom meer te weten

Voorbeelden

Dit voorbeeld laat zien hoe XMP-metadata-eigenschappen worden bijgewerkt.

using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        // als zo'n schema niet in het XMP-pakket zit, moeten we het maken
        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;

        // Als u de oude waarden niet wilt behouden, vervangt u gewoon het hele schema
        root.XmpPackage.Schemes.XmpBasic = new XmpBasicPackage();
        root.XmpPackage.Schemes.XmpBasic.CreateDate = DateTime.Today;
        root.XmpPackage.Schemes.XmpBasic.BaseUrl = "https://groepdocs.com";
        root.XmpPackage.Schemes.XmpBasic.Rating = 5;

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

        // Stel een complexe type-eigenschap in
        root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
        {
            new XmpJob
            {
                ID = "1",
                Name = "test job",
                Url = "https://groepdocs.com"
            },
        };

        // ... 

        metadata.Save(Constants.OutputGif);
    }
}

Zie ook