Example code is for an older version of Toolkit, newer code is available.
# Copyright (c) 2019 ActivePDF, Inc.
# ActivePDF Toolkit 2017
# Example generated 12/12/19
require 'win32ole'
# Get current path
strPath = File.expand_path(File.dirname(__FILE__)) + "\\"
# Instantiate Object
oTK = WIN32OLE.new("APToolkit.Object")
# Create the new PDF file
intOpenOutputFile = oTK.OpenOutputFile(strPath + 'new.pdf')
if intOpenOutputFile != 0
puts "Error in OpenOutputFile: #{intOpenOutputFile}"
end
# Open the template PDF
intOpenInputFile = oTK.OpenInputFile(strPath + 'PDF.pdf')
if intOpenInputFile != 0
puts "Error in OpenInputFile: #{intOpenInputFile}"
end
# Get the reference to the XMP object
oXMP = oTK.GetXMPManager()
# Set a document property
intSetDocumentProperty = oXMP.SetDocumentProperty(2, 'John Doe')
if intSetDocumentProperty != 0
puts "Error in SetDocumentProperty: #{intSetDocumentProperty}"
end
# Set a custom property
intSetCustomProperty = oXMP.SetCustomProperty('example', 'http://examples.activepdf.com')
if intSetCustomProperty != 0
puts "Error in SetCustomProperty: #{intSetCustomProperty}"
end
# Set the namespace for the user property
oXMP.SetNamespace('dc', 'http://purl.org/dc/elements/1.1/')
# Set a user property
intSetUserProperty = oXMP.SetUserProperty('contributor', 'ActivePDF')
if intSetUserProperty != 0
puts "Error in SetUserProperty: #{intSetUserProperty}"
end
# Release Object
oXMP = ''
# Copy the template (with any changes) to the new file
intCopyForm = oTK.CopyForm(0, 0)
if intCopyForm != 1
puts "Error in CopyForm: #{intCopyForm}"
end
# Close the new file to complete PDF creation
oTK.CloseOutputFile()
# Release Object
oTK = ''
# Process Complete
puts "Done!"