Example code is for an older version of Server, newer code is available.
# Copyright (c) 2021 ActivePDF, Inc.
# ActivePDF Server 2009
# Example generated 03/08/21
require 'win32ole'
# Get current path
strPath = File.expand_path(File.dirname(__FILE__)) + "\\"
# Instantiate Object
oSVR = WIN32OLE.new("APServer.Object")
# Add bookmarks to pages in the PDF
oSVR.AddPageBookmark('Parent', 2, 1, 'Fit')
oSVR.AddPageBookmark('Child 1', 0, 2, 'Fit')
oSVR.AddPageBookmark('Child 2', 0, 3, 'Fit')
# Add bookmarks to URLs
oSVR.AddURLBookmark('Parent', 2, 'http://www.activepdf.com')
oSVR.AddURLBookmark('Child 1', 0, 'http://www.activepdf.com')
oSVR.AddURLBookmark('Child 2', 0, 'http://www.activepdf.com')
# Add bookmarks pointing to pages in external PDF
# Both Local and UNC file paths are accepted
oSVR.AddLinkedPDFBookmark('Parent', 1, strPath + 'PDF.pdf', 1, 'Fit')
oSVR.AddLinkedPDFBookmark('Child 1', 0, strPath + 'PDF.pdf', 2, 'Fit')
# Add bookmarks pointing to any external file
# Both Local and UNC file paths are accepted
oSVR.AddFileBookmark('Parent', 2, strPath + 'TXT.txt')
oSVR.AddFileBookmark('Child 1', 0, strPath + 'TXT.txt')
oSVR.AddFileBookmark('Child 2', 0, strPath + 'TXT.txt')
# Convert the PostScript file into PDF
intPSToPDF = oSVR.PSToPDF(strPath + 'PS.ps', strPath + 'Bookmarks.pdf')
if intPSToPDF != 0
puts "Error in PSToPDF: #{intPSToPDF}"
end
# Release Object
oSVR = ''
# Process Complete
puts "Done!"