XmpPacketWrapper

XmpPacketWrapper class

ヘッダーとトレーラーを含むシリアル化された XMP パッケージが含まれます。 XML 処理命令 (PI) のペアで構成されるラッパーを rdf:RDF 要素の周りに配置できます。

public class XmpPacketWrapper : MetadataPackage, IXmpType

コンストラクター

名前 説明
XmpPacketWrapper() の新しいインスタンスを初期化しますXmpPacketWrapperclass.
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) の新しいインスタンスを初期化しますXmpPacketWrapperclass.

プロパティ

名前 説明
Count { get; } メタデータ プロパティの数を取得します。
HeaderPI { get; set; } ヘッダー処理命令を取得または設定します。
Item { get; } を取得しますMetadataProperty指定された名前で.
Keys { get; } メタデータ プロパティ名のコレクションを取得します。
Meta { get; set; } XMP メタを取得または設定します。
MetadataType { get; } メタデータ タイプを取得します。
PackageCount { get; } XMP 構造内のパッケージ数を取得します。
Packages { get; } の配列を取得しますXmpPackageXMP. 内
PropertyDescriptors { get; } GroupDocs.Metadata 検索エンジンを介してアクセス可能なプロパティに関する情報を含む記述子のコレクションを取得します。
Schemes { get; } 既知の XMP スキーマへのアクセスを提供します。
TrailerPI { get; set; } トレーラ処理命令を取得または設定します。

メソッド

名前 説明
AddPackage(XmpPackage) パッケージを追加します。
AddProperties(Func<MetadataProperty, bool>, PropertyValue) 指定された述語を満たす既知のメタデータ プロパティを追加します。 操作は再帰的であるため、ネストされたすべてのパッケージにも影響します。
ClearPackages() すべて削除XmpPackageXMP. 内
Contains(string) 指定した名前のメタデータ プロパティがパッケージに含まれているかどうかを判断します。
ContainsPackage(string) パッケージが XMP ラッパーに存在するかどうかを判断します。
virtual FindProperties(Func<MetadataProperty, bool>) 指定された述語を満たすメタデータ プロパティを検索します。 検索は再帰的であるため、ネストされたすべてのパッケージにも影響します。
GetEnumerator() コレクションを反復処理する列挙子を返します。
GetPackage(string) 名前空間 uri. でパッケージを取得します
GetXmpRepresentation() 文字列に含まれる値を XMP 形式で返します。
RemovePackage(XmpPackage) 指定したパッケージを削除します。
virtual RemoveProperties(Func<MetadataProperty, bool>) 指定された述語を満たすメタデータ プロパティを削除します。
virtual Sanitize() 書き込み可能なメタデータ プロパティをパッケージから削除します。 操作は再帰的であるため、ネストされたすべてのパッケージにも影響します。
SetProperties(Func<MetadataProperty, bool>, PropertyValue) 指定された述語を満たす既知のメタデータ プロパティを設定します。 操作は再帰的であるため、ネストされたすべてのパッケージにも影響します。 このメソッドは、AddPropertiesUpdateProperties 既存のプロパティが述語を満たす場合、その値が更新されます。 述語を満たす既知のプロパティがパッケージにない場合、それがパッケージに追加されます。
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) 指定された述語を満たす既知のメタデータ プロパティを更新します。 操作は再帰的であるため、ネストされたすべてのパッケージにも影響します。

備考

もっと詳しく知る

この例では、XMP メタデータ プロパティを更新する方法を示します。

using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        // XMP パッケージにそのようなスキームがない場合は、作成する必要があります
        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;

        // 古い値を保持したくない場合は、スキーム全体を置き換えるだけです
        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();

        // 複合型プロパティを設定
        root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
        {
            new XmpJob
            {
                ID = "1",
                Name = "test job",
                Url = "https://groupdocs.com"
            },
        };

        // ... 

        metadata.Save(Constants.OutputGif);
    }
}

関連項目