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