Lua
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local xmp = chilkat.Xmp.new()
-- 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
local success = xmp:load_app_file("sample1.jpg")
if not success then
print(xmp.last_error_text)
return
end
print("Num embedded XMP docs: " .. xmp.num_embedded)
-- Assuming there is at least one, get the 1st.
-- (There is typically never more than one, but theoretically it's possible.)
local xml = xmp:get_embedded(0)
if xmp.last_method_success then
-- Create an object to hold one or more string values.
local sa = chilkat.StringArray.new()
success = sa:append("value_1")
success = sa:append("value_2")
-- ...
success = xmp:add_array(xml, "bag", "Iptc4xmpCore:Chilkat", sa)
if not success then
print(xmp.last_error_text)
else
-- Save the JPG.
success = xmp:save_app_file("modified.jpg")
if not success then
print(xmp.last_error_text)
end
end
else
print(xmp.last_error_text)
end