XmpPacketWrapper

XmpPacketWrapper class

헤더와 트레일러를 포함하여 직렬화된 XMP 패키지를 포함합니다. 한 쌍의 XML 처리 명령(PI)으로 구성된 래퍼는 rdf:RDF 요소 주위에 배치될 수 있습니다.

public class XmpPacketWrapper : MetadataPackage, IXmpType

생성자

이름 설명
XmpPacketWrapper() 의 새 인스턴스를 초기화합니다.XmpPacketWrapper 클래스.
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) 의 새 인스턴스를 초기화합니다.XmpPacketWrapper 클래스.

속성

이름 설명
Count { get; } 메타데이터 속성의 수를 가져옵니다.
HeaderPI { get; set; } 헤더 처리 명령을 가져오거나 설정합니다.
Item { get; } 가져오기MetadataProperty 지정된 이름으로.
Keys { get; } 메타데이터 속성 이름의 컬렉션을 가져옵니다.
Meta { get; set; } XMP 메타를 가져오거나 설정합니다.
MetadataType { get; } 메타데이터 유형을 가져옵니다.
PackageCount { get; } XMP 구조 내부의 패키지 수를 가져옵니다.
Packages { get; } 배열 가져오기XmpPackage 내부 XMP.
PropertyDescriptors { get; } GroupDocs.Metadata 검색 엔진을 통해 액세스할 수 있는 속성에 대한 정보가 포함된 설명자 모음을 가져옵니다.
Schemes { get; } 알려진 XMP 스키마에 대한 액세스를 제공합니다.
TrailerPI { get; set; } 트레일러 처리 명령을 가져오거나 설정합니다.

행동 양식

이름 설명
AddPackage(XmpPackage) 패키지를 추가합니다.
AddProperties(Func<MetadataProperty, bool>, PropertyValue) 지정된 조건자를 만족하는 알려진 메타데이터 속성을 추가합니다. 이 작업은 재귀적이므로 중첩된 모든 패키지에도 영향을 미칩니다.
ClearPackages() 모두 제거XmpPackage 내부 XMP.
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) 지정된 술어를 만족하는 알려진 메타데이터 속성을 설정합니다. 이 작업은 재귀적이므로 중첩된 모든 패키지에도 영향을 미칩니다. 이 방법은AddProperties 그리고UpdateProperties 기존 속성이 술어를 충족하면 해당 값이 업데이트됩니다. 조건자를 충족하는 패키지에 알려진 속성이 누락된 경우 패키지에 추가됩니다.
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);
    }
}

또한보십시오