XmpPacketWrapper
Inhalt
[
Ausblenden
]
XmpPacketWrapper class
Enthält serialisiertes XMP-Paket einschließlich Header und Trailer. Ein Wrapper, der aus zwei XML-Verarbeitungsanweisungen (PIs) besteht, kann um das rdf:RDF-Element platziert werden.
public class XmpPacketWrapper : MetadataPackage, IXmpType
Konstrukteure
Name | Beschreibung |
---|---|
XmpPacketWrapper() | Initialisiert eine neue Instanz vonXmpPacketWrapper Klasse. |
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) | Initialisiert eine neue Instanz vonXmpPacketWrapper Klasse. |
Eigenschaften
Name | Beschreibung |
---|---|
Count { get; } | Ruft die Anzahl der Metadateneigenschaften ab. |
HeaderPI { get; set; } | Ruft die Header-Verarbeitungsanweisung ab oder setzt sie. |
Item { get; } | Ruft die abMetadataProperty mit dem angegebenen Namen. |
Keys { get; } | Ruft eine Sammlung der Metadaten-Eigenschaftsnamen ab. |
Meta { get; set; } | Ruft das XMP-Meta ab oder legt es fest. |
MetadataType { get; } | Ruft den Metadatentyp ab. |
PackageCount { get; } | Ruft die Anzahl der Pakete innerhalb der XMP-Struktur ab. |
Packages { get; } | Ruft ein Array von abXmpPackage innerhalb von XMP. |
PropertyDescriptors { get; } | Ruft eine Sammlung von Deskriptoren ab, die Informationen zu Eigenschaften enthalten, auf die über die Suchmaschine GroupDocs.Metadata zugegriffen werden kann. |
Schemes { get; } | Bietet Zugriff auf bekannte XMP-Schemas. |
TrailerPI { get; set; } | Ruft die Trailer-Verarbeitungsanweisung ab oder legt sie fest. |
Methoden
Name | Beschreibung |
---|---|
AddPackage(XmpPackage) | Fügt das Paket hinzu. |
AddProperties(Func<MetadataProperty, bool>, PropertyValue) | Fügt bekannte Metadateneigenschaften hinzu, die das angegebene Prädikat erfüllen. Die Operation ist rekursiv, sodass sie sich auch auf alle verschachtelten Pakete auswirkt. |
ClearPackages() | Entfernt alleXmpPackage innerhalb von XMP. |
Contains(string) | Bestimmt, ob das Paket eine Metadateneigenschaft mit dem angegebenen Namen enthält. |
ContainsPackage(string) | Bestimmt, ob das Paket im XMP-Wrapper vorhanden ist. |
virtual FindProperties(Func<MetadataProperty, bool>) | Findet die Metadateneigenschaften, die das angegebene Prädikat erfüllen. Die Suche ist rekursiv, sodass sie auch alle verschachtelten Pakete betrifft. |
GetEnumerator() | Gibt einen Enumerator zurück, der die Sammlung durchläuft. |
GetPackage(string) | Ruft Paket nach Namensraum uri ab. |
GetXmpRepresentation() | Gibt den in der Zeichenfolge enthaltenen Wert im XMP-Format zurück. |
RemovePackage(XmpPackage) | Entfernt das angegebene Paket. |
virtual RemoveProperties(Func<MetadataProperty, bool>) | Entfernt Metadateneigenschaften, die das angegebene Prädikat erfüllen. |
virtual Sanitize() | Entfernt beschreibbare Metadateneigenschaften aus dem Paket. Der Vorgang ist rekursiv, sodass er sich auch auf alle verschachtelten Pakete auswirkt. |
SetProperties(Func<MetadataProperty, bool>, PropertyValue) | Legt bekannte Metadateneigenschaften fest, die das angegebene Prädikat erfüllen. Die Operation ist rekursiv, sodass sie sich auch auf alle verschachtelten Pakete auswirkt. Diese Methode ist eine Kombination ausAddProperties UndUpdateProperties Wenn eine vorhandene Eigenschaft das Prädikat erfüllt, wird ihr Wert aktualisiert. Wenn im Paket eine bekannte Eigenschaft fehlt, die das Prädikat erfüllt, wird sie dem Paket hinzugefügt. |
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | Aktualisiert bekannte Metadateneigenschaften, die das angegebene Prädikat erfüllen. Die Operation ist rekursiv, sodass sie sich auch auf alle verschachtelten Pakete auswirkt. |
Bemerkungen
Erfahren Sie mehr
Beispiele
Dieses Beispiel zeigt, wie XMP-Metadateneigenschaften aktualisiert werden.
using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
IXmp root = metadata.GetRootPackage() as IXmp;
if (root != null && root.XmpPackage != null)
{
// Wenn es kein solches Schema im XMP-Paket gibt, sollten wir es erstellen
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;
// Wenn Sie die alten Werte nicht behalten möchten, ersetzen Sie einfach das gesamte Schema
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();
// Legen Sie eine Eigenschaft eines komplexen Typs fest
root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
{
new XmpJob
{
ID = "1",
Name = "test job",
Url = "https://groupdocs.com"
},
};
// ...
metadata.Save(Constants.OutputGif);
}
}
Siehe auch
- class MetadataPackage
- interface IXmpType
- namensraum GroupDocs.Metadata.Standards.Xmp
- Montage GroupDocs.Metadata