C#을 사용하여 GIF에서 사용자 지정 XMP 메타데이터 추가 또는 제거

XMP(Extensible Metadata Platform) 메타데이터는 XML 형식의 텍스트로 인코딩됩니다. 정의된 XMP 데이터 모델은 이름/값 쌍의 형태로 메타데이터 속성 집합을 저장하는 데 사용할 수 있습니다. 프로그래밍 방식으로 이미지에 사용자 지정 XMP 메타데이터 패키지를 추가할 수 있습니다. 이 문서에서는 C#을 사용하여 GIF에서 사용자 지정 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 메타데이터 패키지 추가

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 패키지를 제거할 수 있습니다.

다음 코드 샘플은 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 메타데이터 패키지 제거

C#을 사용하여 GIF에서 XMP 메타데이터 패키지 제거

무료 라이선스 받기

무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

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

또한보십시오