Sample code for 30+ languages & platforms
Java

Update a String Property in XMP

See more XMP Examples

Demonstrates how to open a JPG or TIF image file, access the XMP metadata, and update the value of a string property. (If the string property does not already exist, it is created.)

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkXmp xmp = new CkXmp();

    // Load a JPG or TIF image file.
    success = xmp.LoadAppFile("qa_data/xmp/AJ_123642_1511.tif");
    if (success != true) {
        System.out.println(xmp.lastErrorText());
        return;
        }

    System.out.println("Num embedded XMP docs: " + xmp.get_NumEmbedded());

    // This example assumes that XMP metadata is already present in the image file.
    if (xmp.get_NumEmbedded() == 0) {
        System.out.println("No XMP metadata already exists..");
        return;
        }

    // Get the XMP metadata.
    CkXml xml;
    xml = xmp.GetEmbedded(0);

    // Show the XML:
    System.out.println(xml.getXml());

    // Update (overwrite) a string property.
    xmp.AddSimpleStr(xml,"NumberofTimes","123");

    success = xmp.SaveAppFile("qa_output/updated.tif");
    if (success != true) {
        System.out.println(xmp.lastErrorText());
        return;
        }

    System.out.println("Success.");
  }
}