DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoXmp
Variant vXml
Handle hoXml
String sPropVal
String sTemp1
Integer iTemp1
Boolean bTemp1
Move False To iSuccess
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatXmp)) To hoXmp
If (Not(IsComObjectCreated(hoXmp))) Begin
Send CreateComObject of hoXmp
End
// 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
Get ComLoadAppFile Of hoXmp "sample1.jpg" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoXmp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComNumEmbedded Of hoXmp To iTemp1
Showln "Num embedded XMP docs: " iTemp1
// Assuming there is at least one, get the 1st.
// (There is typically never more than one, but theoretically it's possible.)
Get ComGetEmbedded Of hoXmp 0 To vXml
If (IsComObject(vXml)) Begin
Get Create (RefClass(cComChilkatXml)) To hoXml
Set pvComObject Of hoXml To vXml
End
Get ComLastMethodSuccess Of hoXmp To bTemp1
If (bTemp1 = True) Begin
Get ComGetStructValue Of hoXmp vXml "Iptc4xmpCore:CreatorContactInfo" "Iptc4xmpCore:CiTelWork" To sPropVal
Get ComLastMethodSuccess Of hoXmp To bTemp1
If (bTemp1 <> True) Begin
Showln "Not found."
End
Else Begin
Showln sPropVal
End
Send Destroy of hoXml
End
Else Begin
Get ComLastErrorText Of hoXmp To sTemp1
Showln sTemp1
End
End_Procedure