Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

# 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 != true)
    print xmp.lastErrorText() + "\n";
    exit
end

print "Num embedded XMP docs: " + xmp.get_NumEmbedded().to_s() + "\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.." + "\n";
    exit
end

# Get the XMP metadata.

# xml is a CkXml
xml = xmp.GetEmbedded(0)

# Show the XML:
print xml.getXml() + "\n";

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

success = xmp.SaveAppFile("qa_output/updated.tif")
if (success != true)
    print xmp.lastErrorText() + "\n";
    exit
end

print "Success." + "\n";