PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Xmp
oleobject loo_Xml
string ls_PropVal
li_Success = 0
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Xmp = create oleobject
li_rc = loo_Xmp.ConnectToNewObject("Chilkat.Xmp")
if li_rc < 0 then
destroy loo_Xmp
MessageBox("Error","Connecting to COM object failed")
return
end if
// 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
li_Success = loo_Xmp.LoadAppFile("sample1.jpg")
if li_Success <> 1 then
Write-Debug loo_Xmp.LastErrorText
destroy loo_Xmp
return
end if
Write-Debug "Num embedded XMP docs: " + string(loo_Xmp.NumEmbedded)
// Assuming there is at least one, get the 1st.
// (There is typically never more than one, but theoretically it's possible.)
loo_Xml = loo_Xmp.GetEmbedded(0)
if loo_Xmp.LastMethodSuccess = 1 then
ls_PropVal = loo_Xmp.GetStructValue(loo_Xml,"Iptc4xmpCore:CreatorContactInfo","Iptc4xmpCore:CiTelWork")
if loo_Xmp.LastMethodSuccess <> 1 then
Write-Debug "Not found."
else
Write-Debug ls_PropVal
end if
destroy loo_Xml
else
Write-Debug loo_Xmp.LastErrorText
end if
destroy loo_Xmp