Example code is for an older version of Toolkit, newer code is available.
# Copyright (c) 2021 ActivePDF, Inc.
# ActivePDF Toolkit 2017
# Example generated 01/23/21
require 'win32ole'
# Get current path
strPath = File.expand_path(File.dirname(__FILE__)) + "\\"
# Instantiate Object
oTK = WIN32OLE.new("APToolkit.Object")
# Open the PDF to read from
intOpenInputFile = oTK.OpenInputFile(strPath + 'xmpfields.pdf')
if intOpenInputFile != 0
puts "Error in OpenInputFile: #{intOpenInputFile}"
end
# Get the reference to the XMP object
oXMP = oTK.GetXMPManager()
# Get a field instances from the XMP data
oXMPField = oXMP.GetXMPFieldInfo('name')
# Get field properties and write them out
strFieldInfo = oXMPField.Name
puts strFieldInfo
strFieldInfo = oXMPField.Type
puts strFieldInfo
strFieldInfo = oXMPField.Value
puts strFieldInfo
longFieldInfo = oXMPField.Instance
puts longFieldInfo
longFieldInfo = oXMPField.PageNum
puts longFieldInfo
# Bottom left of the field with the height and width
floatFieldInfo = oXMPField.LLX
puts floatFieldInfo
floatFieldInfo = oXMPField.LLY
puts floatFieldInfo
floatFieldInfo = oXMPField.Width
puts floatFieldInfo
floatFieldInfo = oXMPField.Height
puts floatFieldInfo
# Combo box or list box items list count
# count will be 0 for other field types
longFieldInfo = oXMPField.ItemsSize
puts longFieldInfo
# For options available to dropdown fields
strFieldInfo = oXMPField.GetDisplayValue(1)
puts strFieldInfo
strFieldInfo = oXMPField.GetExportValue(1)
puts strFieldInfo
# Release Object
oXMPField = ''
# Release Object
oXMP = ''
# Close the input file
oTK.CloseInputFile()
# Release Object
oTK = ''
# Process Complete
puts "Done!"