Sample code for 30+ languages & platforms
Dart

Get a Structure Property Value from XMP

See more XMP Examples

Demonstrates how to open a JPG or TIF image file, access the XMP metadata, and fetch the value of a structure property, such as the Iptc4xmpCore:CiTelWork (found within the Iptc4xmpCore:CreatorContactInfo structure).

Chilkat Dart Downloads

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

void main() {
  // This requires 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.
  // Sample JPG's with XMP metadata may be found at:
  // http://www.chilkatsoft.com/testData/xmp/sample1.jpg
  // http://www.chilkatsoft.com/testData/xmp/sample2.jpg
  // http://www.chilkatsoft.com/testData/xmp/sample3.jpg
  try {
    xmp.loadAppFile('sample1.jpg');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  // Assuming there is at least one, get the 1st.
  // (There is typically never more than one, but theoretically it's possible.)
  try {
    final xml = xmp.getEmbedded(0);

    try {
      final propVal = xmp.getStructValue(xml, 'Iptc4xmpCore:CreatorContactInfo', 'Iptc4xmpCore:CiTelWork');
      print(propVal);
    } on ChilkatException {
      print('Not found.');
    }
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
  }
}