Skip to content

Instantly share code, notes, and snippets.

@conholdate-gists
Last active November 15, 2021 06:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save conholdate-gists/b3962117fe0b2ced727777f87643bbb7 to your computer and use it in GitHub Desktop.
Save conholdate-gists/b3962117fe0b2ced727777f87643bbb7 to your computer and use it in GitHub Desktop.
Add or Remove Custom XMP Metadata from GIF using Java
// This code example demonstrates how to create and add a custom XMP metadata package to a GIF image.
// Create an instance of the Metadata class
Metadata metadata = new Metadata("C:\\Files\\xmp.gif");
// Get root packages
IXmp root = (IXmp)metadata.getRootPackage();
// Create Xmp Packet Wrapper
XmpPacketWrapper packet = new XmpPacketWrapper();
// Define custom package
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));
// Add custom package to Xmp Packet Wrapper
packet.addPackage(custom);
// Update XmpPackage
root.setXmpPackage(packet);
// Save the file
metadata.save("C:\\Files\\xmp_output.gif");
// This code example demonstrates how to read all the properties defined in the custom XMP package
// Create an instance of the Metadata class
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");
// Get root packages
IXmp root = (IXmp)metadata.getRootPackage();
if (root.getXmpPackage() != null)
{
// Get Xmp pakages
XmpPackage[] packages = root.getXmpPackage().getPackages();
// Show Package details
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());
}
}
}
// This code example demonstrates how to remove the XMP metadata package from a GIF image.
// Create an instance of the Metadata class
Metadata metadata = new Metadata("C:\\Files\\xmp_output.gif");
// Get root packages
IXmp root = (IXmp)metadata.getRootPackage();
// Set package to null
root.setXmpPackage(null);
// Save image
metadata.save("C:\\Files\\xmp_output_Removed.gif");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment