XmpPackage

XmpPackage class

表示 XMP 包的基础抽象。

public class XmpPackage : XmpMetadataContainer

构造函数

姓名 描述
XmpPackage(string, string) 初始化一个新的实例XmpPackage类.

特性

姓名 描述
Count { get; } 获取元数据属性的数量。
Item { get; } 获取MetadataProperty具有指定名称.
Keys { get; } 获取元数据属性名称的集合。
MetadataType { get; } 获取元数据类型。
NamespaceUri { get; } 获取命名空间 URI。
Prefix { get; } 获取 xmlns 前缀。
PropertyDescriptors { get; } 获取描述符集合,其中包含有关可通过 GroupDocs.Metadata 搜索引擎访问的属性的信息。
XmlNamespace { get; } 获取 XML 命名空间。

方法

姓名 描述
AddProperties(Func<MetadataProperty, bool>, PropertyValue) 添加满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
Clear() 删除所有 XMP 属性。
Contains(string) 确定包是否包含具有指定名称的元数据属性。
virtual FindProperties(Func<MetadataProperty, bool>) 查找满足指定谓词的元数据属性。 搜索是递归的,因此它也会影响所有嵌套包。
GetEnumerator() 返回一个遍历集合的枚举器。
override GetXmpRepresentation() 将 XMP 值转换为 XML 表示。
Remove(string) 删除具有指定名称的属性。
virtual RemoveProperties(Func<MetadataProperty, bool>) 删除满足指定谓词的元数据属性。
virtual Sanitize() 从包中删除可写元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
Set(string, bool) 设置布尔属性。
Set(string, DateTime) 集DateTime财产.
Set(string, double) 设置双重属性。
Set(string, int) 设置整数属性。
virtual Set(string, string) 设置字符串属性。
virtual Set(string, XmpArray) 设置继承自的值XmpArray.
virtual Set(string, XmpComplexType) 设置继承自的值XmpComplexType.
Set(string, XmpValueBase) 设置继承自的值XmpValueBase.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddPropertiesUpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) 更新满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。

评论

了解更多

例子

此示例演示如何将自定义 XMP 包添加到任何受支持格式的文件中。

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-2022 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);
    }
}

也可以看看