Java를 사용하여 GIF에서 사용자 정의 XMP 메타데이터 추가 또는 제거

XMP(Extensible Metadata Platform) 데이터 모델은 XML 형식의 텍스트로 인코딩된 이름/값 쌍의 형태로 메타데이터 속성 집합을 저장하는 데 사용할 수 있습니다. Java 개발자는 프로그래밍 방식으로 사용자 정의 XMP 메타데이터 패키지를 이미지에 쉽게 추가할 수 있습니다. 이 기사에서는 Java를 사용하여 GIF에서 사용자 정의 XMP 메타데이터를 추가하거나 제거하는 방법을 배웁니다.

이 문서에서는 다음 주제를 논의/다룹니다.

사용자 정의 XMP 메타데이터를 추가하거나 제거하는 Java API

GIF 이미지에서 사용자 정의 XMP 메타데이터 패키지를 추가하거나 제거하기 위해 GroupDocs.Metadata for Java API를 사용합니다. 지원 문서 및 이미지 파일 형식에서 메타데이터 속성을 추가, 편집, 검색 및 제거할 수 있습니다. API는 기본 제공 메타데이터 속성(예: 작성자, 생성 날짜, 형식별 메타데이터 속성(예: XMP, EXIF, IPTC, Image Resource Blocks), ID3 및 사용자 지정 메타데이터 속성.

API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에 다음 pom.xml 구성을 추가하여 아래에 언급된 코드 예제를 시도할 수 있습니다.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-metadata</artifactId>
        <version>21.8</version> 
</dependency>

Java를 사용하여 GIF에 사용자 지정 XMP 메타데이터 패키지 추가

아래에 제공된 간단한 단계에 따라 사용자 정의 속성이 있는 완전 사용자 정의 XMP 패키지를 만들고 추가할 수 있습니다.

  • 먼저 Metadata 클래스를 사용하여 GIF 이미지를 로드합니다.
  • 그런 다음 Metadata.getRootPackage()IXmp 표준으로 호출하여 루트 패키지를 가져옵니다.
  • XmpPackage 클래스의 인스턴스를 만들어 새 패키지를 만듭니다.
  • 이제 Prefix, NamespaceUri 등 다양한 속성을 설정하여 패키지를 정의합니다.
  • 그런 다음 Set() 메서드를 호출하여 이름/값 쌍에서 사용자 정의 메타데이터 속성을 설정합니다.
  • 직렬화된 XMP 패키지를 포함하는 XmpPacketWrapper 클래스의 인스턴스를 만듭니다.
  • 이제 XmpPacketWrapper.AddPackage() 메서드를 호출하여 생성된 사용자 지정 XmpPackage를 추가합니다.
  • IXmp.setXmpPackage() 메서드를 사용하여 XMP 메타데이터 패키지를 설정합니다.
  • 마지막으로 Metadata.save() 메서드를 사용하여 출력 파일을 저장합니다.

다음 코드 샘플은 Java를 사용하여 사용자 지정 XMP 메타데이터 패키지를 만들고 GIF 이미지에 추가하는 방법을 보여줍니다.

// 이 코드 예제는 사용자 지정 XMP 메타데이터 패키지를 만들고 GIF 이미지에 추가하는 방법을 보여줍니다.
// Metadata 클래스의 인스턴스 만들기
Metadata metadata = new Metadata("C:\\Files\\xmp.gif");

// 루트 패키지 가져오기
IXmp root = (IXmp)metadata.getRootPackage();

// Xmp 패킷 래퍼 만들기
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", new Date().toString());
custom.set("gd:Company", XmpArray.from(new String[] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));

// Xmp 패킷 래퍼에 사용자 정의 패키지 추가
packet.addPackage(custom);

// XmpPackage 업데이트
root.setXmpPackage(packet);

// 파일 저장
metadata.save("C:\\Files\\xmp_output.gif");

위의 코드 샘플은 입력 이미지에 XMP 메타데이터 패키지를 추가해야 합니다. ExifTool에서 생성된 출력을 아래에서 찾으십시오.

Java를 사용하여 GIF에 사용자 지정 XMP 메타데이터 패키지 추가

Java를 사용하여 GIF에 사용자 지정 XMP 메타데이터 패키지 추가

Java를 사용하여 사용자 지정 XMP 패키지 메타데이터 속성 읽기

다음 단계에 따라 사용자 정의 XMP 패키지의 모든 사용자 정의 속성을 읽을 수 있습니다.

다음 코드 샘플은 Java를 사용하여 사용자 지정 XMP 패키지에 정의된 모든 속성을 읽는 방법을 보여줍니다.

// 이 코드 예제는 사용자 지정 XMP 패키지에 정의된 모든 속성을 읽는 방법을 보여줍니다.
// Metadata 클래스의 인스턴스 만들기
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// 루트 패키지 가져오기
IXmp root = (IXmp)metadata.getRootPackage();
if (root.getXmpPackage() != null)
{
  // Xmp 패키지 받기
  XmpPackage[] packages = root.getXmpPackage().getPackages();
  
  // 패키지 세부 정보 표시
  for (XmpPackage pkg : packages )
  {
    System.out.println(pkg.getNamespaceUri());
    System.out.println(pkg.getPrefix());

    for(String keys : pkg.getKeys())
    {
      MetadataProperty property = pkg.findProperties(new WithNameSpecification(keys)).get_Item(0);
      System.out.println(property.getName() + " : " + property.getValue());
    }
  }
}

위의 코드 샘플은 다음 출력을 생성합니다.

https://groupdocs.com
gd
gd:Copyright: Copyright (C) 2021 GroupDocs. All Rights Reserved.
gd:CreationDate: Sat Oct 16 00:13:15 PKT 2021
gd:Company: <rdf:Seq><rdf:li>Aspose</rdf:li><rdf:li>GroupDocs</rdf:li></rdf:Seq>

Java를 사용하여 사용자 정의 XMP 패키지 제거

아래 단계에 따라 GIF 이미지에서 XMP 패키지를 제거할 수 있습니다.

  • 먼저 Metadata 클래스를 사용하여 GIF 이미지를 로드합니다.
  • 그런 다음 Metadata.getRootPackage()IXmp 표준으로 호출하여 루트 패키지를 가져옵니다.
  • 이제 IXmp.setXmpPackage()를 사용하여 XmpPackege를 null로 설정합니다.
  • 마지막으로 Metadata.save() 메서드를 사용하여 출력 파일을 저장합니다.

다음 코드 샘플은 Java를 사용하여 GIF 이미지에서 XMP 메타데이터 패키지를 제거하는 방법을 보여줍니다.

// 이 코드 예제는 GIF 이미지에서 XMP 메타데이터 패키지를 제거하는 방법을 보여줍니다.
// Metadata 클래스의 인스턴스 만들기
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// 루트 패키지 가져오기
IXmp root = (IXmp)metadata.getRootPackage();

// 패키지를 null로 설정
root.setXmpPackage(null);

// 이미지를 저장
metadata.save("C:\\Files\\xmp_output_Removed.gif");

위의 코드 샘플은 입력 이미지에서 XMP 메타데이터 패키지를 제거합니다. ExifTool은 생성된 출력 GIF 이미지에서 다음 메타데이터를 읽습니다.

Java를 사용하여 사용자 지정 XMP 패키지를 제거합니다.

Java를 사용하여 사용자 지정 XMP 패키지를 제거합니다.

무료 라이선스 받기

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

결론

이 기사에서는 Java를 사용하여 GIF 이미지에 사용자 지정 XMP 패키지 메타데이터를 추가하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 XMP 패키지 속성을 읽고 GIF 이미지에서 제거하는 방법을 살펴보았습니다. 문서를 사용하여 Java API용 GroupDocs.Metadata에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오