Server 2009

AddPDFMark

Example code is for an older version of Server, newer code is available.
# Copyright (c) 2020 ActivePDF, Inc.
# ActivePDF Server 2009
# Example generated 09/23/20 

require 'win32ole'

# Get current path
strPath = File.expand_path(File.dirname(__FILE__)) + "\\"

# Instantiate Object
oSVR = WIN32OLE.new("APServer.Object")

# Add PDF marks to be used in the converted PDF
# PDF Mark Reference:
# http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdfmark_reference.pdf

# Notes (Page 20 - PDF Marks Reference)
oSVR.AddPDFMark('[ /SrcPg 1 /Rect [32 32 216 144] /Open false /Title (activePDF Comment) /Contents (Note Type Comment Example.) /Color [1 0 0] /Subtype /Text /ANN pdfmark')

# Free Text (Page 17 - PDF Marks Reference)
# Used for the text in the link created below
oSVR.AddPDFMark('[ /SrcPg 1 /Rect [262 26 350 46] /Contents (activePDF.com) /DA ([0 0 1] rg /Helv 12 Tf) /BS << /W 0 >> /Q 1 /Subtype /FreeText /ANN pdfmark')

# Links (Page  - PDF Marks Reference)
# Add a link around the activePDF.com text created above
oSVR.AddPDFMark('[ /SrcPg 1 /Rect [262 26 350 46] /Contents (activePDF.com) /BS << /W 0 >> /Action << /Subtype /URI /URI (http://activePDF.com) >> /Subtype /Link /ANN pdfmark')

# Bookmarks (Page 26 - PDF Marks Reference)
oSVR.AddPDFMark('[ /Count -5 /Title (Lorem ipsum) /Page 1 /F 2 /OUT pdfmark')
oSVR.AddPDFMark('[ /Page 1 /View [/Fit] /Title (Page 1) /C [0 0 0] /F 2 /OUT pdfmark')
oSVR.AddPDFMark('[ /Page 2 /View [/Fit] /Title (Page 2) /C [0 0 0] /F 2 /OUT pdfmark')
oSVR.AddPDFMark('[ /Page 3 /View [/Fit] /Title (Page 3) /C [0 0 0] /F 2 /OUT pdfmark')
oSVR.AddPDFMark('[ /Page 4 /View [/Fit] /Title (Page 4) /C [0 0 0] /F 2 /OUT pdfmark')
oSVR.AddPDFMark('[ /Page 5 /View [/Fit] /Title (Page 5) /C [0 0 0] /F 2 /OUT pdfmark')

# Document Information (Page 28 - PDF Marks Reference)
oSVR.AddPDFMark('[ /Title (PDF Marks) /Author (activePDF Server) /Subject (PDF Marks) /Keywords (pdfmark, server, example) /DOCINFO pdfmark')

# Document View Options (Page 29 - PDF Marks Reference)
oSVR.AddPDFMark('[ /PageMode /UseOutlines /Page 1 /View [/Fit] /DOCVIEW pdfmark')

# Document Open Options
oSVR.AddPDFMark('[ {Catalog} << /ViewerPreferences << /HideToolbar true  /HideMenubar true >> >> /PUT pdfmark')

# Convert the PostScript file into PDF
intPSToPDF = oSVR.PSToPDF(strPath + 'PS.ps', strPath + 'PDFMark.pdf')
if intPSToPDF != 0
  puts "Error in PSToPDF: #{intPSToPDF}"
end

# Clear the marks so that the next conversion does not have them
oSVR.ClearPDFMarks()

# Release Object
oSVR = ''

# Process Complete
puts "Done!"

Copyright © 2020 ActivePDF, Inc