Sample code for 30+ languages & platforms
Perl

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

Perl
use chilkat();

$success = 0;

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

$xmp = chilkat::CkXmp->new();

# Load a JPG or TIF image file.
$success = $xmp->LoadAppFile("qa_data/xmp/AJ_123642_1511.tif");
if ($success != 1) {
    print $xmp->lastErrorText() . "\r\n";
    exit;
}

print "Num embedded XMP docs: " . $xmp->get_NumEmbedded() . "\r\n";

# This example assumes that XMP metadata is already present in the image file.
if ($xmp->get_NumEmbedded() == 0) {
    print "No XMP metadata already exists.." . "\r\n";
    exit;
}

# Get the XMP metadata.

# xml is a Xml
$xml = $xmp->GetEmbedded(0);

# Show the XML:
print $xml->getXml() . "\r\n";

# Update (overwrite) a string property.
$xmp->AddSimpleStr($xml,"NumberofTimes","123");

$success = $xmp->SaveAppFile("qa_output/updated.tif");
if ($success != 1) {
    print $xmp->lastErrorText() . "\r\n";
    exit;
}

print "Success." . "\r\n";