Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final xmp = CkXmp();

  // Load a JPG or TIF image file.
  try {
    xmp.loadAppFile('qa_data/xmp/AJ_123642_1511.tif');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Num embedded XMP docs: ${xmp.numEmbedded}');

  // This example assumes that XMP metadata is already present in the image file.
  if (xmp.numEmbedded == 0) {
    print('No XMP metadata already exists..');
    return;
  }

  // Get the XMP metadata.
  final xml = xmp.getEmbedded(0);

  // Show the XML:
  print(xml.getXml());

  // Update (overwrite) a string property.
  xmp.addSimpleStr(xml, 'NumberofTimes', '123');

  try {
    xmp.saveAppFile('qa_output/updated.tif');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Success.');
}