Dart
Dart
XMP Array Property - Bag, Seq, or Alt
See more XMP Examples
How to insert or update an XMP array property (bag, seq, or alt).Chilkat Dart Downloads
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);
// Create an object to hold one or more string values.
final sa = CkStringArray();
sa.append('value_1');
sa.append('value_2');
// ...
try {
xmp.addArray(xml, 'bag', 'Iptc4xmpCore:Chilkat', sa);
// Save the JPG.
try {
xmp.saveAppFile('modified.jpg');
} on ChilkatException catch (e) {
print(e.lastErrorText);
}
} on ChilkatException catch (e) {
print(e.lastErrorText);
}
} on ChilkatException catch (e) {
print(e.lastErrorText);
}
}