Dodaj lub usuń niestandardowe metadane XMP z GIF przy użyciu języka Java

Model danych Extensible Metadata Platform (XMP) może służyć do przechowywania dowolnego zestawu właściwości metadanych w postaci pary nazwa/wartość zakodowanej jako tekst w formacie XML. Jako programista Java możesz łatwo programowo dodać do swoich obrazów niestandardowy pakiet metadanych XMP. W tym artykule dowiesz się, jak dodawać lub usuwać niestandardowe metadane XMP z GIF przy użyciu języka Java.

W tym artykule omówiono/omówiono następujące tematy:

Interfejs API Java umożliwiający dodawanie lub usuwanie niestandardowych metadanych XMP

Do dodawania lub usuwania niestandardowego pakietu metadanych XMP z obrazów GIF będziemy używać interfejsu API GroupDocs.Metadata for Java. Umożliwia dodawanie, edytowanie, pobieranie i usuwanie właściwości metadanych z obsługiwanych dokumentów i formatów plików graficznych. Interfejs API współpracuje z najbardziej znanymi standardami metadanych, takimi jak wbudowane właściwości metadanych, np. autor, data utworzenia, właściwości metadanych specyficzne dla formatu, np. XMP, EXIF, IPTC, bloki zasobów obrazu, ID3 i niestandardowe właściwości metadanych.

Możesz pobrać plik JAR interfejsu API lub po prostu dodać następującą konfigurację pom.xml do swojej aplikacji Java opartej na Maven, aby wypróbować poniższe przykłady kodu.

<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>

Dodaj niestandardowy pakiet metadanych XMP do pliku GIF przy użyciu języka Java

Możesz utworzyć i dodać w pełni niestandardowy pakiet XMP z właściwościami zdefiniowanymi przez użytkownika, wykonując proste kroki podane poniżej:

  • Najpierw załaduj obraz GIF przy użyciu klasy Metadata.
  • Następnie wywołaj standard Metadata.getRootPackage() jako standard IXmp, aby uzyskać pakiet główny.
  • Utwórz instancję klasy XmpPackage, aby utworzyć nowy pakiet.
  • Teraz ustaw różne właściwości, aby zdefiniować pakiet, takie jak Prefix i NamespaceUri.
  • Następnie wywołaj metodę Set(), aby ustawić zdefiniowane przez użytkownika właściwości metadanych w parze Nazwa/Wartość.
  • Utwórz instancję klasy XmpPacketWrapper, która zawiera serializowany pakiet XMP.
  • Teraz wywołaj metodę XmpPacketWrapper.AddPackage(), aby dodać utworzony niestandardowy pakiet XmpPackage.
  • Użyj metody IXmp.setXmpPackage(), aby ustawić pakiet metadanych XMP.
  • Na koniec zapisz plik wyjściowy, korzystając z metody Metadata.save().

Poniższy przykładowy kod pokazuje, jak utworzyć i dodać niestandardowy pakiet metadanych XMP do obrazu GIF przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak utworzyć i dodać niestandardowy pakiet metadanych XMP do obrazu GIF.
// Utwórz instancję klasy Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp.gif");

// Zdobądź pakiety root
IXmp root = (IXmp)metadata.getRootPackage();

// Utwórz opakowanie pakietów Xmp
XmpPacketWrapper packet = new XmpPacketWrapper();

// Zdefiniuj pakiet niestandardowy
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));

// Dodaj niestandardowy pakiet do opakowania pakietów Xmp
packet.addPackage(custom);

// Zaktualizuj pakiet Xmp
root.setXmpPackage(packet);

// Zapisz plik
metadata.save("C:\\Files\\xmp_output.gif");

Powyższy przykładowy kod powinien dodać pakiet metadanych XMP do obrazu wejściowego. Poniżej znajdziesz dane wyjściowe wygenerowane przez ExifTool.

Dodaj niestandardowy pakiet metadanych XMP do pliku GIF przy użyciu języka Java

Dodaj niestandardowy pakiet metadanych XMP do pliku GIF przy użyciu języka Java

Przeczytaj właściwości metadanych niestandardowego pakietu XMP przy użyciu języka Java

Możesz przeczytać wszystkie zdefiniowane przez użytkownika właściwości niestandardowego pakietu XMP, wykonując kroki podane poniżej:

Poniższy przykładowy kod pokazuje, jak odczytać wszystkie właściwości zdefiniowane w niestandardowym pakiecie XMP przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak odczytać wszystkie właściwości zdefiniowane w niestandardowym pakiecie XMP
// Utwórz instancję klasy Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// Zdobądź pakiety root
IXmp root = (IXmp)metadata.getRootPackage();
if (root.getXmpPackage() != null)
{
  // Zdobądź pakiety Xmp
  XmpPackage[] packages = root.getXmpPackage().getPackages();
  
  // Pokaż szczegóły pakietu
 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());
    }
  }
}

Powyższy przykładowy kod powinien dać następujący wynik:

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>

Usuń niestandardowy pakiet XMP za pomocą Java

Możesz usunąć pakiet XMP z obrazów GIF, wykonując poniższe czynności:

Poniższy przykładowy kod pokazuje, jak usunąć pakiet metadanych XMP z obrazu GIF przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak usunąć pakiet metadanych XMP z obrazu GIF.
// Utwórz instancję klasy Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// Zdobądź pakiety root
IXmp root = (IXmp)metadata.getRootPackage();

// Ustaw pakiet na null
root.setXmpPackage(null);

// Zapisać obraz
metadata.save("C:\\Files\\xmp_output_Removed.gif");

Powyższy przykładowy kod usunie pakiet metadanych XMP z obrazu wejściowego. ExifTool odczytuje następujące metadane z wygenerowanego wyjściowego obrazu GIF.

Usuń niestandardowy pakiet XMP za pomocą Java.

Usuń niestandardowy pakiet XMP za pomocą Java.

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule dowiedziałeś się, jak dodawać niestandardowe metadane pakietu XMP do obrazów GIF przy użyciu języka Java. Co więcej, widziałeś, jak czytać właściwości pakietu XMP i programowo usuwać je z obrazu GIF. Więcej informacji na temat GroupDocs.Metadata for Java API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też