XmpPackage
Contents
[
Hide
]
XmpPackage class
Represents base abstraction for XMP package.
public class XmpPackage : XmpMetadataContainer
Constructors
Name | Description |
---|---|
XmpPackage(string, string) | Initializes a new instance of the XmpPackage class. |
Properties
Name | Description |
---|---|
Count { get; } | Gets the number of metadata properties. |
Item { get; } | Gets the MetadataProperty with the specified name. |
Keys { get; } | Gets a collection of the metadata property names. |
MetadataType { get; } | Gets the metadata type. |
NamespaceUri { get; } | Gets the namespace URI. |
Prefix { get; } | Gets the xmlns prefix. |
PropertyDescriptors { get; } | Gets a collection of descriptors that contain information about properties accessible through the GroupDocs.Metadata search engine. |
XmlNamespace { get; } | Gets the XML namespace. |
Methods
Name | Description |
---|---|
virtual AddProperties(Func<MetadataProperty, bool>, PropertyValue) | Adds known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. |
Clear() | Removes all XMP properties. |
Contains(string) | Determines whether the package contains a metadata property with the specified name. |
virtual FindProperties(Func<MetadataProperty, bool>) | Finds the metadata properties satisfying the specified predicate. The search is recursive so it affects all nested packages as well. |
GetEnumerator() | Returns an enumerator that iterates through the collection. |
override GetXmpRepresentation() | Converts the XMP value to the XML representation. |
Remove(string) | Removes the property with the specified name. |
virtual RemoveProperties(Func<MetadataProperty, bool>) | Removes metadata properties satisfying the specified predicate. |
virtual Sanitize() | Removes writable metadata properties from the package. The operation is recursive so it affects all nested packages as well. |
Set(string, bool) | Sets boolean property. |
Set(string, DateTime) | Sets DateTime property. |
Set(string, double) | Sets double property. |
Set(string, int) | Sets integer property. |
virtual Set(string, string) | Sets string property. |
virtual Set(string, XmpArray) | Sets the value inherited from XmpArray . |
virtual Set(string, XmpComplexType) | Sets the value inherited from XmpComplexType . |
Set(string, XmpValueBase) | Sets the value inherited from XmpValueBase . |
virtual SetProperties(Func<MetadataProperty, bool>, PropertyValue) | Sets known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. This method is a combination of AddProperties and UpdateProperties . If an existing property satisfies the predicate its value is updated. If there is a known property missing in the package that satisfies the predicate it is added to the package. |
virtual UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. |
Remarks
Learn more
Examples
This example demonstrates how to add a custom XMP package to a file of any supported format.
using (Metadata metadata = new Metadata(Constants.InputJpeg))
{
IXmp root = metadata.GetRootPackage() as IXmp;
if (root != null)
{
var packet = new XmpPacketWrapper();
var custom = new XmpPackage("gd", "https://groupdocs.com");
custom.Set("gd:Copyright", "Copyright (C) 2011-2024 GroupDocs. All Rights Reserved.");
custom.Set("gd:CreationDate", DateTime.Today);
custom.Set("gd:Company", XmpArray.From(new [] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));
packet.AddPackage(custom);
root.XmpPackage = packet;
metadata.Save(Constants.OutputJpeg);
}
}
See Also
- class XmpMetadataContainer
- namespace GroupDocs.Metadata.Standards.Xmp
- assembly GroupDocs.Metadata