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) | 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddProperties和UpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。 | 
| 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);
    }
}