Aggiungi o rimuovi metadati XMP personalizzati da GIF utilizzando Java

Il modello di dati Extensible Metadata Platform (XMP) può essere utilizzato per archiviare qualsiasi insieme di proprietà di metadati sotto forma di coppia nome/valore codificata come testo formattato XML. Come sviluppatore Java, puoi facilmente aggiungere un pacchetto di metadati XMP personalizzato alle tue immagini in modo programmatico. In questo articolo imparerai come aggiungere o rimuovere metadati XMP personalizzati da GIF utilizzando Java.

I seguenti argomenti sono discussi/trattati in questo articolo:

API Java per aggiungere o rimuovere metadati XMP personalizzati

Per aggiungere o rimuovere il pacchetto di metadati XMP personalizzato dalle immagini GIF, utilizzeremo l’API GroupDocs.Metadata for Java. Ti consente di aggiungere, modificare, recuperare e rimuovere le proprietà dei metadati dai documenti e formati di file immagine supportati. L’API funziona con gli standard di metadati più importanti, come le proprietà dei metadati integrate, ad esempio l’autore, la data di creazione, le proprietà dei metadati specifiche del formato, ad esempio XMP, EXIF, IPTC, Image Resource Blocks, ID3 e proprietà dei metadati personalizzate.

Puoi scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nella tua applicazione Java basata su Maven per provare gli esempi di codice indicati di seguito.

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

Aggiungi un pacchetto di metadati XMP personalizzato a GIF utilizzando Java

Puoi creare e aggiungere un pacchetto XMP completamente personalizzato con proprietà definite dall’utente seguendo i semplici passaggi indicati di seguito:

  • Innanzitutto, carica l’immagine GIF utilizzando la classe Metadata.
  • Quindi, chiama Metadata.getRootPackage() come standard IXmp per ottenere il pacchetto radice.
  • Crea un’istanza della classe XmpPackage per creare un nuovo pacchetto.
  • Ora, imposta varie proprietà per definire il pacchetto come Prefix e NamespaceUri.
  • Quindi, chiama il metodo Set() per impostare le proprietà dei metadati definite dall’utente nella coppia Nome/Valore.
  • Crea un’istanza della classe XmpPacketWrapper che contiene il pacchetto XMP serializzato.
  • Ora, chiama il metodo XmpPacketWrapper.AddPackage() per aggiungere l’XmpPackage personalizzato creato.
  • Utilizzare il metodo IXmp.setXmpPackage() per impostare il pacchetto di metadati XMP.
  • Infine, salva il file di output utilizzando il metodo Metadata.save().

L’esempio di codice seguente mostra come creare e aggiungere un pacchetto di metadati XMP personalizzato a un’immagine GIF utilizzando Java.

// Questo esempio di codice mostra come creare e aggiungere un pacchetto di metadati XMP personalizzato a un'immagine GIF.
// Crea un'istanza della classe Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp.gif");

// Ottieni pacchetti di root
IXmp root = (IXmp)metadata.getRootPackage();

// Crea un wrapper di pacchetti Xmp
XmpPacketWrapper packet = new XmpPacketWrapper();

// Definisci pacchetto personalizzato
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));

// Aggiungi un pacchetto personalizzato a Xmp Packet Wrapper
packet.addPackage(custom);

// Aggiorna XmpPackage
root.setXmpPackage(packet);

// Salva il file
metadata.save("C:\\Files\\xmp_output.gif");

L’esempio di codice precedente aggiungerà il pacchetto di metadati XMP all’immagine di input. Di seguito troverai l’output generato da ExifTool.

Aggiungi un pacchetto di metadati XMP personalizzato a GIF utilizzando Java

Aggiungi un pacchetto di metadati XMP personalizzato a GIF utilizzando Java

Leggi le proprietà dei metadati del pacchetto XMP personalizzato utilizzando Java

Puoi leggere tutte le proprietà definite dall’utente del pacchetto XMP personalizzato seguendo i passaggi indicati di seguito:

L’esempio di codice seguente mostra come leggere tutte le proprietà definite nel pacchetto XMP personalizzato utilizzando Java.

// Questo esempio di codice mostra come leggere tutte le proprietà definite nel pacchetto XMP personalizzato
// Crea un'istanza della classe Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// Ottieni pacchetti di root
IXmp root = (IXmp)metadata.getRootPackage();
if (root.getXmpPackage() != null)
{
  // Ottieni pacchetti Xmp
  XmpPackage[] packages = root.getXmpPackage().getPackages();
  
  // Mostra i dettagli del pacchetto
  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());
    }
  }
}

L’esempio di codice sopra deve produrre il seguente output:

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>

Rimuovere il pacchetto XMP personalizzato utilizzando Java

Puoi rimuovere il pacchetto XMP dalle immagini GIF seguendo i passaggi indicati di seguito:

L’esempio di codice seguente mostra come rimuovere il pacchetto di metadati XMP da un’immagine GIF utilizzando Java.

// Questo esempio di codice mostra come rimuovere il pacchetto di metadati XMP da un'immagine GIF.
// Crea un'istanza della classe Metadata
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");

// Ottieni pacchetti di root
IXmp root = (IXmp)metadata.getRootPackage();

// Imposta il pacchetto su null
root.setXmpPackage(null);

// Salva immagine
metadata.save("C:\\Files\\xmp_output_Removed.gif");

L’esempio di codice sopra rimuoverà il pacchetto di metadati XMP dall’immagine di input. ExifTool legge i seguenti metadati dall’immagine GIF di output generata.

Rimuovere il pacchetto XMP personalizzato utilizzando Java.

Rimuovere il pacchetto XMP personalizzato utilizzando Java.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come aggiungere metadati del pacchetto XMP personalizzati alle immagini GIF utilizzando Java. Inoltre, hai visto come leggere le proprietà del pacchetto XMP e rimuoverle da un’immagine GIF a livello di codice. Puoi saperne di più sull’API GroupDocs.Metadata per Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche