GroupDocs.Metadata for Java allows managing XMP metadata in PNG images. For more details please refer to the following guide: Working with XMP Metadata.
The code sample below shows how to update XMP properties in a PNG image. If the image has no XMP package or the required schemes yet, they are created first.
try(Metadatametadata=newMetadata(Constants.PngWithXmp)){IXmproot=(IXmp)metadata.getRootPackage();if(root.getXmpPackage()==null){root.setXmpPackage(newXmpPacketWrapper());}if(root.getXmpPackage().getSchemes().getDublinCore()==null){root.getXmpPackage().getSchemes().setDublinCore(newXmpDublinCorePackage());}root.getXmpPackage().getSchemes().getDublinCore().setFormat("image/png");root.getXmpPackage().getSchemes().getDublinCore().setRights("Copyright (C) 2011-2026 GroupDocs. All Rights Reserved.");root.getXmpPackage().getSchemes().getDublinCore().setSubject("test");if(root.getXmpPackage().getSchemes().getXmpBasic()==null){root.getXmpPackage().getSchemes().setXmpBasic(newXmpBasicPackage());}root.getXmpPackage().getSchemes().getXmpBasic().setCreateDate(newDate());root.getXmpPackage().getSchemes().getXmpBasic().setLabel("GroupDocs");root.getXmpPackage().getSchemes().getXmpBasic().setRating(5);root.getXmpPackage().getSchemes().getXmpBasic().setCreatorTool("GroupDocs.Metadata");// ...
metadata.save(Constants.OutputPng);}
Working with EXIF metadata
The GroupDocs.Metadata API supports handling EXIF metadata in PNG images. Please find appropriate code samples in the Working with EXIF Metadata section.
More resources
GitHub examples
You may easily run the code above and see the feature in action in our GitHub examples: