
XMP(Extensible Metadata Platform) 메타데이터는 XML 형식의 텍스트로 인코딩됩니다. 정의된 XMP 데이터 모델은 이름/값 쌍의 형태로 메타데이터 속성 집합을 저장하는 데 사용할 수 있습니다. 프로그래밍 방식으로 이미지에 사용자 지정 XMP 메타데이터 패키지를 추가할 수 있습니다. 이 문서에서는 C#을 사용하여 GIF에서 사용자 지정 XMP 메타데이터를 추가하거나 제거하는 방법을 배웁니다.
이 문서에서는 다음 주제를 논의/다룹니다.
- XMP 메타데이터 추가 또는 제거를 위한 C# API
- C#을 사용하여 GIF에 사용자 지정 XMP 메타데이터 패키지 추가
- C#을 사용하여 사용자 지정 XMP 메타데이터 패키지 속성 읽기
- C#을 사용하여 사용자 지정 XMP 메타데이터 패키지 제거
XMP 메타데이터 추가 또는 제거를 위한 C# API
사용자 지정 XMP 메타데이터 패키지를 추가하거나 제거하기 위해 GroupDocs.Metadata for .NET API를 사용할 것입니다. 문서 및 이미지 파일 형식에서 메타데이터 속성을 추가, 편집, 검색 및 제거할 수 있습니다. API는 기본 제공, XMP, EXIF, IPTC, 이미지 리소스 블록, ID3 및 사용자 지정 메타데이터 속성과 같은 가장 주목할만한 메타데이터 표준과 함께 작동합니다. .NET 플랫폼을 대상으로 하는 모든 개발 환경에서 응용 프로그램을 개발하는 데 사용할 수 있습니다.
API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.
Install-Package GroupDocs.Metadata
C#을 사용하여 GIF에 사용자 지정 XMP 메타데이터 패키지 추가
아래에 언급된 간단한 단계에 따라 사용자 정의 속성이 포함된 완전 사용자 지정 XMP 패키지를 쉽게 만들고 추가할 수 있습니다.
- Metadata 클래스의 인스턴스 생성
- GIF 이미지의 경로 제공
- GetRoot패키지 as IXmp standard
- XmpPackage 클래스의 인스턴스 생성
- 패키지 접두사 및 NamespaceUri 제공
- Set 메서드를 사용하여 이름/값 쌍의 속성 설정
- XmpPacketWrapper 클래스의 인스턴스 생성
- AddPackage 메서드를 호출하고 생성된 XmpPackage를 전달합니다.
- 생성된 XmpPacketWrapper를 IXMp에 할당합니다.XmpPackage
- Metadata.Save 메서드를 사용하여 출력 파일 저장
다음 코드 샘플은 C#을 사용하여 사용자 지정 XMP 메타데이터 패키지를 만들고 GIF 이미지에 추가하는 방법을 보여줍니다.
using (Metadata metadata = new Metadata(@"C:\Files\xmp.gif")) {
IXmp root = (IXmp)metadata.GetRootPackage();
XmpPacketWrapper packet = new XmpPacketWrapper();
XmpPackage custom = new XmpPackage("gd", "https://groupdocs.com");
custom.Set("gd:Copyright", "Copyright (C) 2021 GroupDocs. All Rights Reserved.");
custom.Set("gd:CreationDate", DateTime.Now.ToString());
custom.Set("gd:Company", XmpArray.From(new String[] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));
packet.AddPackage(custom);
root.XmpPackage = packet;
metadata.Save(@"C:\Files\xmp_output.gif");
}
위의 코드 샘플은 입력 이미지에 XMP 메타데이터 패키지를 추가해야 합니다. ExifTool은 생성된 출력 GIF 이미지에서 다음 메타데이터를 읽습니다.

C#을 사용하여 GIF에 XMP 메타데이터 패키지 추가
IXMP 인터페이스는 XmpPackage{.brokenlink} 속성을 노출하여 XMP 메타데이터 패키지를 가져오거나 설정합니다.
Metadata 클래스는 파일에서 추출한 모든 메타데이터 속성에 대한 액세스를 제공하는 루트 패키지를 가져오는 GetRootPackage 메서드를 제공합니다.
XmpPackage 클래스는 Prefix, NamespaceUri, Keys 등 패키지를 정의하는 다양한 속성을 제공합니다. 이 클래스는 사용자 정의 메타데이터 속성의 이름/값을 설정하는 Set 메서드도 제공합니다.
XmpPacketWrapper 클래스에는 직렬화된 XMP 패키지가 포함되어 있습니다. 이 클래스의 AddPackage 메서드를 사용하면 정의된 사용자 정의 패키지를 추가할 수 있습니다.
문서에서 “XMP 메타데이터 작업“에 대한 자세한 내용을 찾을 수 있습니다.
C#을 사용하여 사용자 지정 XMP 패키지 메타데이터 속성 읽기
아래에 언급된 간단한 단계를 따르면 모든 사용자 정의 XMP 패키지 사용자 정의 속성을 쉽게 읽을 수 있습니다.
- Metadata 클래스의 인스턴스 생성
- GIF 이미지의 경로 제공
- GetRoot패키지 as IXmp standard
- IXmp.XmpPackage.Packages에서 모든 패키지를 하나씩 가져옵니다.
- 각 패키지에 대한 NamespaceUri 및 Prefix 가져오기
- 각 패키지 키에 대해 FindProperties를 호출하여 속성 이름과 값을 가져옵니다.
다음 코드 샘플은 C#을 사용하여 사용자 지정 XMP 패키지에 정의된 모든 속성을 읽는 방법을 보여줍니다.
string file = @"C:\Files\xmp_output.gif";
using (Metadata metadata = new Metadata(file))
{
IXmp root = (IXmp)metadata.GetRootPackage();
if (root.XmpPackage != null)
{
foreach (var package in root.XmpPackage.Packages)
{
Console.WriteLine(package.NamespaceUri);
Console.WriteLine(package.Prefix);
foreach(var keys in package.Keys)
{
var property = package.FindProperties(p => p.Name == keys).FirstOrDefault();
Console.WriteLine(property.Name + " : " + property.Value);
}
}
}
}
위의 코드 샘플은 다음 출력을 생성합니다.
https://groupdocs.com
gd
gd:Copyright: Copyright (C) 2021 GroupDocs. All Rights Reserved.
gd:CreationDate: 04/05/2021 2:26:17 am
gd:Company: <rdf:Seq><rdf:li>Aspose</rdf:li><rdf:li>GroupDocs</rdf:li></rdf:Seq>
XmpPackage 클래스의 FindProperties 메서드는 지정된 술어를 만족하는 메타데이터 속성을 재귀적으로 검색하고 찾습니다.
C#을 사용하여 사용자 지정 XMP 패키지 제거
아래에 언급된 간단한 단계에 따라 GIF 이미지에서 XMP 패키지를 제거할 수 있습니다.
- Metadata 클래스의 인스턴스 생성
- GIF 이미지의 경로 제공
- GetRoot패키지 as IXmp standard
- IXMp.XmpPackage을 null로 설정
- Metadata.Save 메서드를 사용하여 출력 파일 저장
다음 코드 샘플은 C#을 사용하여 GIF 이미지에서 XMP 메타데이터 패키지를 제거하는 방법을 보여줍니다.
using (Metadata metadata = new Metadata(@"C:\Files\xmp_output.gif"))
{
IXmp root = (IXmp)metadata.GetRootPackage();
root.XmpPackage = null;
metadata.Save(@"C:\Files\xmp_output_Removed.gif");
}
위의 코드 샘플은 입력 이미지에서 XMP 메타데이터 패키지를 제거합니다. ExifTool은 생성된 출력 GIF 이미지에서 다음 메타데이터를 읽습니다.

C#을 사용하여 GIF에서 XMP 메타데이터 패키지 제거
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 문서에서는 C#을 사용하여 GIF 이미지에서 사용자 지정 XMP 패키지 메타데이터를 추가하거나 제거하는 방법을 배웠습니다. 또한 C#을 사용하여 XMP 패키지 속성을 읽는 방법도 배웠습니다. 또한 문서를 사용하여 .NET API용 GroupDocs.Metadata에 대해 배울 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.